Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there an exhaustive list of situations where N_PROF > 1? #16

Open
cgrdn opened this issue Mar 8, 2021 · 2 comments
Open

Is there an exhaustive list of situations where N_PROF > 1? #16

cgrdn opened this issue Mar 8, 2021 · 2 comments
Labels
argo-format About Argo netcdf file format conventions QCexpert Argo QC expertise is needed

Comments

@cgrdn
Copy link

cgrdn commented Mar 8, 2021

Is your QC expertise request related to a problem? Please describe.
In a given cycle, the netCDF dimension N_PROF is typically 1 (1 cycle, 1 profile), but is sometimes greater than 1 (1 cycle, multiple profiles). In my experience, this is usually when there are observations recorded on the descent, and so there are two profiles for that cycle (files R[wmo]_[cycle].nc R[wmo]_[cycle]D.nc to give an example. There are some situations where there are even more than 2 profiles, and from the file I can't seem to discern from the file why that is (see next section for data). I also have not found an exhaustive lists in any Argo handbook, but hoping I just haven't been looking in the right place and someone could point me to a list or table.

Describe the Argo data you'd like to validate
An example of such a file is here: https://data-argo.ifremer.fr/dac/coriolis/6901494/profiles/BD6901494_352.nc

Describe QC methods you've already considered
Not so much a QC method, but this is a more general question related to this issue in the argoFloats R package: ArgoCanada/argoFloats#413

Additional context
Some python code looking at the netCDF file:

Click to unroll code

from netCDF4 import Dataset

# get the file - not showing the local path on my machine, just assuming same directory
nc = Dataset('BD6901494_352.nc')
# show the dimension
print(nc.dimensions['N_PROF'])
# <class 'netCDF4._netCDF4.Dimension'>: name = 'N_PROF', size = 4
# variables in this file
print(nc.variables.keys())
# dict_keys(['DATA_TYPE', 'FORMAT_VERSION', 'HANDBOOK_VERSION', 
# 'REFERENCE_DATE_TIME', 'DATE_CREATION', 'DATE_UPDATE', 'PLATFORM_NUMBER', 
# 'PROJECT_NAME', 'PI_NAME', 'STATION_PARAMETERS', 'CYCLE_NUMBER', 'DIRECTION', 
# 'DATA_CENTRE', 'DC_REFERENCE', 'DATA_STATE_INDICATOR', 'DATA_MODE', 
# 'PARAMETER_DATA_MODE', 'PLATFORM_TYPE', 'FLOAT_SERIAL_NO', 'FIRMWARE_VERSION', 
# 'WMO_INST_TYPE', 'JULD', 'JULD_QC', 'JULD_LOCATION', 'LATITUDE', 'LONGITUDE', 
# 'POSITION_QC', 'POSITIONING_SYSTEM', 'PROFILE_RAW_DOWNWELLING_IRRADIANCE380_QC', 
# 'PROFILE_RAW_DOWNWELLING_IRRADIANCE412_QC', 
# 'PROFILE_RAW_DOWNWELLING_IRRADIANCE490_QC', 'PROFILE_RAW_DOWNWELLING_PAR_QC', 
# 'PROFILE_DOWN_IRRADIANCE380_QC', 'PROFILE_DOWN_IRRADIANCE412_QC', 
# 'PROFILE_DOWN_IRRADIANCE490_QC', 'PROFILE_DOWNWELLING_PAR_QC', 
# 'PROFILE_FLUORESCENCE_CHLA_QC', 'PROFILE_BETA_BACKSCATTERING700_QC', 
# 'PROFILE_FLUORESCENCE_CDOM_QC', 'PROFILE_CHLA_QC', 'PROFILE_BBP700_QC', 
# 'PROFILE_CDOM_QC', 'VERTICAL_SAMPLING_SCHEME', 'CONFIG_MISSION_NUMBER', 'PRES', 
# 'TEMP_STD', 'PSAL_STD', 'PRES_MED', 'TEMP_MED', 'PSAL_MED', 
# 'RAW_DOWNWELLING_IRRADIANCE380', 'RAW_DOWNWELLING_IRRADIANCE380_QC', 
# 'RAW_DOWNWELLING_IRRADIANCE412', 'RAW_DOWNWELLING_IRRADIANCE412_QC', 
# 'RAW_DOWNWELLING_IRRADIANCE490', 'RAW_DOWNWELLING_IRRADIANCE490_QC', 
# 'RAW_DOWNWELLING_PAR', 'RAW_DOWNWELLING_PAR_QC', 
# 'RAW_DOWNWELLING_IRRADIANCE380_STD', 'RAW_DOWNWELLING_IRRADIANCE412_STD', 
# 'RAW_DOWNWELLING_IRRADIANCE490_STD', 'RAW_DOWNWELLING_PAR_STD', 
# 'RAW_DOWNWELLING_IRRADIANCE380_MED', 'RAW_DOWNWELLING_IRRADIANCE412_MED', 
# 'RAW_DOWNWELLING_IRRADIANCE490_MED', 'RAW_DOWNWELLING_PAR_MED', 
# 'DOWN_IRRADIANCE380', 'DOWN_IRRADIANCE380_QC', 'DOWN_IRRADIANCE380_ADJUSTED', 
# 'DOWN_IRRADIANCE380_ADJUSTED_QC', 'DOWN_IRRADIANCE380_ADJUSTED_ERROR', 
# 'DOWN_IRRADIANCE412', 'DOWN_IRRADIANCE412_QC', 'DOWN_IRRADIANCE412_ADJUSTED', 
# 'DOWN_IRRADIANCE412_ADJUSTED_QC', 'DOWN_IRRADIANCE412_ADJUSTED_ERROR', 
# 'DOWN_IRRADIANCE490', 'DOWN_IRRADIANCE490_QC', 'DOWN_IRRADIANCE490_ADJUSTED', 
# 'DOWN_IRRADIANCE490_ADJUSTED_QC', 'DOWN_IRRADIANCE490_ADJUSTED_ERROR', 
# 'DOWNWELLING_PAR', 'DOWNWELLING_PAR_QC', 'DOWNWELLING_PAR_ADJUSTED', 
# 'DOWNWELLING_PAR_ADJUSTED_QC', 'DOWNWELLING_PAR_ADJUSTED_ERROR', 
# 'FLUORESCENCE_CHLA', 'FLUORESCENCE_CHLA_QC', 'BETA_BACKSCATTERING700', 
# 'BETA_BACKSCATTERING700_QC', 'FLUORESCENCE_CDOM', 'FLUORESCENCE_CDOM_QC', 
# 'FLUORESCENCE_CHLA_STD', 'BETA_BACKSCATTERING700_STD', 'FLUORESCENCE_CDOM_STD', 
# 'FLUORESCENCE_CHLA_MED', 'BETA_BACKSCATTERING700_MED', 'FLUORESCENCE_CDOM_MED', 
# 'CHLA', 'CHLA_QC', 'CHLA_ADJUSTED', 'CHLA_ADJUSTED_QC', 'CHLA_ADJUSTED_ERROR', 
# 'BBP700', 'BBP700_QC', 'BBP700_ADJUSTED', 'BBP700_ADJUSTED_QC', 
# 'BBP700_ADJUSTED_ERROR', 'CDOM', 'CDOM_QC', 'CDOM_ADJUSTED', 'CDOM_ADJUSTED_QC', 
# 'CDOM_ADJUSTED_ERROR', 'HISTORY_INSTITUTION', 'HISTORY_STEP', 'HISTORY_SOFTWARE', 
# 'HISTORY_SOFTWARE_RELEASE', 'HISTORY_REFERENCE', 'HISTORY_DATE', 'HISTORY_ACTION', 
# 'HISTORY_PARAMETER', 'HISTORY_START_PRES', 'HISTORY_STOP_PRES', 
# 'HISTORY_PREVIOUS_VALUE', 'HISTORY_QCTEST', 'PARAMETER', 
# 'SCIENTIFIC_CALIB_EQUATION', 'SCIENTIFIC_CALIB_COEFFICIENT', 
# 'SCIENTIFIC_CALIB_COMMENT', 'SCIENTIFIC_CALIB_DATE'])
# pressures for each profile
for i in range(nc.dimensions['N_PROF'].size):
    print(nc['PRES'][:].data[i,:])
# [2.1000e+00 2.6000e+00 3.5000e+00 4.6000e+00 5.4000e+00 6.5000e+00
#  7.5000e+00 8.6000e+00 9.7000e+00 1.0700e+01 1.1500e+01 1.2400e+01
#  1.3500e+01 1.4600e+01 1.5600e+01 1.6700e+01 1.7500e+01 1.8300e+01
#  1.9400e+01 2.0600e+01 2.1600e+01 2.2600e+01 2.3400e+01 2.4400e+01
#  2.5700e+01 2.6400e+01 2.7300e+01 2.8300e+01 2.9400e+01 3.0600e+01
#  3.1700e+01 3.2600e+01 3.3300e+01 3.4300e+01 3.5600e+01 3.6700e+01
#  3.7700e+01 3.8400e+01 3.9400e+01 4.0700e+01 4.1700e+01 4.2600e+01
#  4.3400e+01 4.4500e+01 4.5600e+01 4.6600e+01 4.7300e+01 4.8300e+01
#  4.9600e+01 5.0600e+01 5.1600e+01 5.2600e+01 5.3600e+01 5.4300e+01
#  5.5700e+01 5.6500e+01 5.7500e+01 5.8700e+01 5.9600e+01 6.0300e+01
#  6.1400e+01 6.2700e+01 6.3600e+01 6.4300e+01 6.5500e+01 6.6600e+01
#  6.7300e+01 6.8300e+01 6.9500e+01 7.0500e+01 7.1400e+01 7.2500e+01
#  7.3500e+01 7.4600e+01 7.5700e+01 7.6500e+01 7.7300e+01 7.8300e+01
#  7.9500e+01 8.0500e+01 8.1700e+01 8.2700e+01 8.3700e+01 8.4700e+01
#  8.5700e+01 8.6500e+01 8.7300e+01 8.8400e+01 8.9500e+01 9.0700e+01
#  9.1500e+01 9.2300e+01 9.3500e+01 9.4600e+01 9.5500e+01 9.6300e+01
#  9.7400e+01 9.8500e+01 9.9400e+01 1.0030e+02 1.0130e+02 1.0250e+02
#  1.0340e+02 1.0430e+02 1.0560e+02 1.0650e+02 1.0740e+02 1.0860e+02
#  1.0940e+02 1.1040e+02 1.1160e+02 1.1240e+02 1.1330e+02 1.1460e+02
#  1.1570e+02 1.1660e+02 1.1740e+02 1.1840e+02 1.1950e+02 1.2060e+02
#  1.2160e+02 1.2270e+02 1.2350e+02 1.2440e+02 1.2530e+02 1.2650e+02
#  1.2760e+02 1.2830e+02 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04]
# [6.0000e-01 1.5000e+00 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04]
# [5.0000e-01 1.5000e+00 2.2000e+00 2.9000e+00 3.7000e+00 4.4000e+00
#  5.1000e+00 6.0000e+00 6.8000e+00 7.6000e+00 8.2000e+00 8.9000e+00
#  9.6000e+00 1.0300e+01 1.1000e+01 1.1800e+01 1.2600e+01 1.3600e+01
#  1.4500e+01 1.5400e+01 1.6300e+01 1.7100e+01 1.8000e+01 1.9000e+01
#  2.0000e+01 2.1100e+01 2.2300e+01 2.3400e+01 2.4500e+01 2.5700e+01
#  2.6900e+01 2.8000e+01 2.9200e+01 3.0300e+01 3.1500e+01 3.2600e+01
#  3.3800e+01 3.4900e+01 3.6100e+01 3.7200e+01 3.8400e+01 3.9500e+01
#  4.0700e+01 4.1900e+01 4.3100e+01 4.4200e+01 4.5400e+01 4.6600e+01
#  4.7700e+01 4.8900e+01 5.0100e+01 5.1200e+01 5.2300e+01 5.3400e+01
#  5.4500e+01 5.5600e+01 5.6700e+01 5.7800e+01 5.8900e+01 6.0000e+01
#  6.1100e+01 6.2200e+01 6.3200e+01 6.4300e+01 6.5300e+01 6.6500e+01
#  6.7600e+01 6.8700e+01 6.9900e+01 7.0900e+01 7.1800e+01 7.2500e+01
#  7.3100e+01 7.3800e+01 7.4400e+01 7.5100e+01 7.5800e+01 7.6500e+01
#  7.7200e+01 7.7900e+01 7.8600e+01 7.9300e+01 8.0100e+01 8.0800e+01
#  8.1600e+01 8.2500e+01 8.3300e+01 8.4100e+01 8.5000e+01 8.5800e+01
#  8.6700e+01 8.7600e+01 8.8500e+01 8.9400e+01 9.0200e+01 9.1100e+01
#  9.2100e+01 9.3000e+01 9.3900e+01 9.4900e+01 9.5900e+01 9.6900e+01
#  9.7900e+01 9.8800e+01 9.9800e+01 1.0080e+02 1.0180e+02 1.0280e+02
#  1.0380e+02 1.0490e+02 1.0590e+02 1.0690e+02 1.0790e+02 1.0900e+02
#  1.1000e+02 1.1110e+02 1.1220e+02 1.1320e+02 1.1440e+02 1.1540e+02
#  1.1660e+02 1.1770e+02 1.1890e+02 1.1990e+02 1.2110e+02 1.2220e+02
#  1.2330e+02 1.2440e+02 1.2540e+02 1.2630e+02 1.2700e+02 1.2740e+02
#  1.2750e+02 1.2760e+02 1.2770e+02 1.2780e+02 1.2790e+02 1.2790e+02
#  1.2800e+02 1.2810e+02 1.2820e+02 1.2820e+02 1.2820e+02 1.2830e+02
#  1.2830e+02 1.2830e+02 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04 9.9999e+04
#  9.9999e+04 9.9999e+04 9.9999e+04]
# [  0.5   1.1   1.2   1.3   1.5   1.6   1.9   2.1   2.4   2.6   2.8   3.1
#    3.2   3.5   3.7   3.8   4.    4.    4.2   4.4   4.9   5.3   5.4   5.7
#    5.9   6.2   6.3   6.6   6.8   7.    7.1   7.3   7.7   8.    8.    8.2
#    8.3   8.5   8.8   8.9   9.    9.2   9.3   9.4  10.1  10.8  11.6  12.5
#   13.4  14.4  15.2  16.1  16.9  17.8  18.8  19.8  20.9  22.   23.2  24.3
#   25.5  26.6  27.7  28.9  30.   31.2  32.4  33.5  34.7  35.8  37.   38.2
#   39.3  40.5  41.7  42.8  44.   45.2  46.3  47.5  48.7  49.8  51.   52.
#   53.2  54.2  55.3  56.5  57.6  58.7  59.8  60.9  61.9  63.   64.   65.1
#   66.2  67.3  68.5  69.6  70.7  71.6  72.4  73.   73.7  74.3  75.   75.7
#   76.3  77.1  77.8  78.4  79.2  79.9  80.7  81.5  82.3  83.1  84.   84.8
#   85.6  86.5  87.4  88.3  89.2  90.1  90.9  91.9  92.8  93.8  94.7  95.7
#   96.7  97.7  98.6  99.7 100.6 101.7 102.6 103.6 104.7 105.7 106.7 107.7
#  108.8 109.8 110.9 111.9 113.  114.1 115.2 116.4 117.5 118.6 119.7 120.8
#  122.  123.1 124.2 125.2 126.1 126.9 127.3 127.5 127.6 127.7 127.8 127.8
#  127.9 128.  128.1 128.1 128.2 128.2 128.2 128.3 128.3]
# for all N_PROF except the last one, biological variables (CHLA, BBP, CDOM) are all fillvalues
for i in range(nc.dimensions['N_PROF'].size):
    print(nc['CHLA'][:].data[i,:])
# Out:
# [99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999.]
# [99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999.]
# [99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999. 99999.
#  99999. 99999. 99999. 99999. 99999. 99999. 99999.]
# [-0.1533  0.073   0.365   0.1898  0.4745  0.5256  0.2555  0.1679  0.2117
#  -0.2555 -0.0657 -0.0146  0.3723  0.0876  0.0219  0.5183  0.2701 -0.0438
#   0.2774  0.2847 -0.1825 -0.0657  0.0584 -0.0949  0.2044  0.0584 -0.2409
#   0.1898 -0.0511  0.1752  0.4088  0.146   0.6132  0.3431  0.5548  0.0438
#   0.2701 -0.1606  0.5183  0.292   0.6497  0.0584  0.9052 -0.3504  0.1679
#   0.1679  0.1971  0.1971  0.1971  0.219   0.1898  0.219   0.2263  0.2482
#   0.2555  0.2263  0.1971  0.1825  0.1752  0.1898  0.2117  0.1971  0.2117
#   0.219   0.2263  0.2336  0.2628  0.2701  0.2774  0.2774  0.2628  0.2701
#   0.292   0.3066  0.3066  0.3139  0.3358  0.3504  0.3431  0.4161  0.4307
#   0.4818  0.4818  0.4891  0.5037  0.5256  0.5913  0.6862  0.6716  0.7008
#   0.7665  0.6862  0.6643  0.6351  0.5986  0.511   0.5402  0.4891  0.4818
#   0.438   0.5037  0.4453  0.4453  0.4307  0.4672  0.4161  0.4088  0.4599
#   0.4088  0.4015  0.4088  0.4234  0.4307  0.4234  0.4088  0.4453  0.4453
#   0.4599  0.438   0.4891  0.4234  0.4453  0.4307  0.4161  0.4307  0.3942
#   0.3869  0.3796  0.4161  0.4015  0.3796  0.3577  0.3139  0.3139  0.3285
#   0.3066  0.3066  0.3139  0.3066  0.3139  0.3066  0.3139  0.2993  0.2774
#   0.2774  0.2482  0.2482  0.2409  0.219   0.219   0.2044  0.1825  0.1752
#   0.2336  0.2117  0.1898  0.1606  0.1679  0.1606  0.1533  0.146   0.1533
#   0.1533  0.146   0.1679  0.1606  0.1606  0.1387  0.1679  0.1533  0.1533
#   0.146   0.1752  0.1606  0.1825  0.146   0.1606]
</p>
</details>
@cgrdn
Copy link
Author

cgrdn commented Mar 8, 2021

The more specific part of this question related to why N_PROF = 4 in this particular file, I can find in 'VERTICAL_SAMPLING_SCHEME', however the core question looking for a list of situations where this occurs is what I am looking for.

For reference, output of vertical sampling scheme variable:

for i in range(nc.dimensions['N_PROF'].size):
    # read_ncstr is my own function that makes netcdf string arrays more readable
    print(read_ncstr(nc['VERTICAL_SAMPLING_SCHEME'][:].data[i,:]))
# Out:
# Primary sampling: averaged [2s sampling,1dbar average in [100-10]dbar;2s samp.,1dbar avg in [10-2.1]dbar]
# Near-surface sampling: averaged, unpumped [2s samp.,1dbar avg in [2.1-1]dbar;2s samp.,1dbar avg in [1dbar-surface]]
# Secondary sampling: mixed [10s sampling in [100-10]dbar;2s samp. in [10-1]dbar;10s samp.,1dbar avg in [1dbar-surface]]
# Secondary sampling: mixed [10s sampling in [100-10]dbar;2s samp. in [10-1]dbar;10s samp.,1dbar avg in [1dbar-surface]]

@cabanesc
Copy link

cabanesc commented Mar 8, 2021

N_PROF>1 will occur when:

  1. multiple sensors operate at the same time or/and a single sensor uses different sampling scheme (e.g Near-surface sampling, with CTD unpumped)
  2. additional profiles are collected each cycle (e.g Bouncing profiles: a series of shallow profiles performed during one cycle from some specialty floats)

If a descending and ascending profiles are collected during the same cycle, these profiles are in two separate files ( R[wmo][cycle].nc and R[wmo][cycle]D.nc , with 'D' for the descending profile), In this case, in each file, N_PROF=1, of course if there are no multiple sensors/sampling schemes or other "bouncing" profiles.

I don't know if this answers your question...
Here is an example (a float carring multiple sensors) that you can find in the Argo user manual (section 2.6.1):

"Suppose a hypothetical float carries a high-resolution CTD sensor and a low-resolution nitrate sensor. In each single-cycle, this hypothetical float is configured to return a 2-dbar bin-averaged CTD profile to 1000 dbar with no corresponding nitrate measurements, and a discrete 250-dbar interval nitrate profile to 1000 dbar with no corresponding temperature and salinity measurements. The parameters in the resulting core-Argo and b-Argo profile files are formatted as follows for the two profiles in each cycle:
In the core-Argo profile file, N_PROF = 2, N_LEVELS = 500.
PRES= [2, 4, 6, .......................................1000];
= [250, 500, 750, 1000, FillValue, ............].
TEMP= [T2, T4, T6, ............................T1000];
= [FillValue, ......................................].
PSAL= [S2, S4, S6, .............................S1000];
= [FillValue, ......................................].
In the b-Argo profile file, N_PROF = 2, N_LEVELS = 500.
PRES= [2, 4, 6, .......................................1000];
= [250, 500, 750, 1000, FillValue, .............].
NITRATE= [FillValue, ......................................];
= [N250, N500, N750, N1000, FillValue, ...]."

@gmaze gmaze added QCexpert Argo QC expertise is needed argo-format About Argo netcdf file format conventions labels Feb 21, 2022
@gmaze gmaze changed the title [expert] Is there an exhaustive like of situations where N_PROF > 1? Is there an exhaustive list of situations where N_PROF > 1? Feb 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
argo-format About Argo netcdf file format conventions QCexpert Argo QC expertise is needed
Projects
None yet
Development

No branches or pull requests

3 participants