diff --git a/docs/fileformat_nasaames/index.rst b/docs/fileformat_nasaames/index.rst index 5053b4129362c0de97e3df28f2fe5bae72616f42..acf6e24840172fad30d8f58da606c17e78c84fba 100644 --- a/docs/fileformat_nasaames/index.rst +++ b/docs/fileformat_nasaames/index.rst @@ -1,7 +1,6 @@ - -========================= +######################### EBAS Nasa Ames Fileformat -========================= +######################### The best form of documentation of the EBAS Nasa Ames fileformat can be found in the `EBAS Data Submission Manual <https://ebas-submit.nilu.no>`_. diff --git a/docs/fileformat_netcdf/01_intro.rst b/docs/fileformat_netcdf/01_intro.rst deleted file mode 100644 index 4660b65ed10010565a01c2062bff41fca10f2b39..0000000000000000000000000000000000000000 --- a/docs/fileformat_netcdf/01_intro.rst +++ /dev/null @@ -1,6 +0,0 @@ -Introduction ------------- - -ACDD -NasaAMES -CF diff --git a/docs/fileformat_netcdf/02_metadata.rst b/docs/fileformat_netcdf/02_metadata.rst deleted file mode 100644 index 6e0e37f6605d2c7b883fe1f9e4ffa08fe7331d9e..0000000000000000000000000000000000000000 --- a/docs/fileformat_netcdf/02_metadata.rst +++ /dev/null @@ -1,11 +0,0 @@ -Metadata --------- - - * General metadata, - * everything before ebas_something - * EBAS metadata - * ebas_something - * link to template page. - * comment (phase out) - * Structure of metadata - * global, variable, time dependent diff --git a/docs/fileformat_netcdf/03_dimensions.rst b/docs/fileformat_netcdf/03_dimensions.rst deleted file mode 100644 index d9db92bd569d6ab42bf4a478e26805c0d6f7bda4..0000000000000000000000000000000000000000 --- a/docs/fileformat_netcdf/03_dimensions.rst +++ /dev/null @@ -1,8 +0,0 @@ -Dimensions ----------- - * time - * metadata time - * additional dimensions - * Location (instrument inlet etc..) - * Wavelength - * D diff --git a/docs/fileformat_netcdf/04_variables.rst b/docs/fileformat_netcdf/04_variables.rst deleted file mode 100644 index 8113bb4d60b7e788e774c45eace6397517f99bc7..0000000000000000000000000000000000000000 --- a/docs/fileformat_netcdf/04_variables.rst +++ /dev/null @@ -1,7 +0,0 @@ -Variables ---------- - - * time_bnds - * metadatatime_bnds - * general - amean, gc, ebasmetadata - * statistics - precentiler, std etc. diff --git a/docs/fileformat_netcdf/dimensions.rst b/docs/fileformat_netcdf/dimensions.rst new file mode 100644 index 0000000000000000000000000000000000000000..38cb1d9cc44d5151660b9d2b42da70b868d3ac8f --- /dev/null +++ b/docs/fileformat_netcdf/dimensions.rst @@ -0,0 +1,18 @@ +********** +Dimensions +********** + + +.. _time_bnds: + +Time boundaries +--------------- + +`boundary variables <http://cfconventions.org/Data/cf-conventions/cf-conventions-1.11/cf-conventions.html#cell-boundaries>`_ + + * time + * metadata time + * additional dimensions + * Location (instrument inlet etc..) + * Wavelength + * D diff --git a/docs/fileformat_netcdf/05_examples.rst b/docs/fileformat_netcdf/examples.rst similarity index 64% rename from docs/fileformat_netcdf/05_examples.rst rename to docs/fileformat_netcdf/examples.rst index c4c55b365c45b0e72f6de3001bf7f620b040f51d..38f491ea8598551c6d1a22e76c0fa231440404e4 100644 --- a/docs/fileformat_netcdf/05_examples.rst +++ b/docs/fileformat_netcdf/examples.rst @@ -1,3 +1,5 @@ +******** Examples --------- +******** + * code, VRE etc? diff --git a/docs/fileformat_netcdf/gen_ebas_metadata b/docs/fileformat_netcdf/gen_ebas_metadata new file mode 100755 index 0000000000000000000000000000000000000000..8194de5c0cfedbef7b07893efc3d2627a9d75eaf --- /dev/null +++ b/docs/fileformat_netcdf/gen_ebas_metadata @@ -0,0 +1 @@ +PYTHONPATH=/data/git_repos/EBAS_CORE/ebas:/data/git_repos/webpage_ebas_data_submit/template_generator python3 gen_ebas_metadata.py diff --git a/docs/fileformat_netcdf/gen_ebas_metadata.py b/docs/fileformat_netcdf/gen_ebas_metadata.py new file mode 100644 index 0000000000000000000000000000000000000000..7e00a104ab9d0e062c58e3eeade8e2461c470789 --- /dev/null +++ b/docs/fileformat_netcdf/gen_ebas_metadata.py @@ -0,0 +1,33 @@ +from gen_temp_ascii import get_link +from ebas.io.ebasmetadata import EbasMetadata, EBAS_IOFORMAT_NASA_AMES +meta = EbasMetadata('EBAS_1.1', EBAS_IOFORMAT_NASA_AMES, data_level='0') + +with open('gen_ebas_metadata.rst', 'w') as fil: + fil.write(""" +.. _all_ebasmetadata: + +************************* +List of all EBAS Metadata +************************* + +.. list-table:: Title + :header-rows: 1 + + * - Nasa Ames tag + - NetCDF Tag +""") + + for elem in [x for x in meta.metadata if x['main'] or x['vname']]: + if not 'renamed_tag' in elem: + lnk = get_link(elem["tag"], '') + if lnk == 'yet_to_come': + lnk = None + else: + lnk = 'https://ebas-submit.nilu.no/templates/comments/' + lnk + if lnk: + fil.write(f' * - `{elem["tag"]} <{lnk}>`_\n') + fil.write(f' - `ebas_{elem["nc_tag"]} <{lnk}>`_\n') + else: + fil.write(f' * - {elem["tag"]}\n') + fil.write(f' - ebas_{elem["nc_tag"]}\n') + diff --git a/docs/fileformat_netcdf/gen_ebas_metadata.rst b/docs/fileformat_netcdf/gen_ebas_metadata.rst new file mode 100644 index 0000000000000000000000000000000000000000..72a96dc2a8fedc7cd65c0893cbc1e2c9013aadbf --- /dev/null +++ b/docs/fileformat_netcdf/gen_ebas_metadata.rst @@ -0,0 +1,278 @@ + +.. _all_ebasmetadata: + +************************* +List of all EBAS Metadata +************************* + +.. list-table:: Title + :header-rows: 1 + + * - Nasa Ames tag + - NetCDF Tag + * - `Data definition <https://ebas-submit.nilu.no/templates/comments/data_definition>`_ + - `ebas_data_definition <https://ebas-submit.nilu.no/templates/comments/data_definition>`_ + * - Data license + - ebas_data_license + * - Citation + - ebas_citation + * - `Set type code <https://ebas-submit.nilu.no/templates/comments/dataset_type_code>`_ + - `ebas_set_type_code <https://ebas-submit.nilu.no/templates/comments/dataset_type_code>`_ + * - `Timezone <https://ebas-submit.nilu.no/templates/comments/timezone>`_ + - `ebas_timezone <https://ebas-submit.nilu.no/templates/comments/timezone>`_ + * - `Timeref <https://ebas-submit.nilu.no/templates/comments/timeref>`_ + - `ebas_timeref <https://ebas-submit.nilu.no/templates/comments/timeref>`_ + * - `File name <https://ebas-submit.nilu.no/templates/comments/file_name>`_ + - `ebas_file_name <https://ebas-submit.nilu.no/templates/comments/file_name>`_ + * - Represents DOI + - ebas_represents_doi + * - Contains data from DOI + - ebas_contains_doi + * - `File creation <https://ebas-submit.nilu.no/templates/comments/file_name>`_ + - `ebas_file_creation <https://ebas-submit.nilu.no/templates/comments/file_name>`_ + * - Export state + - ebas_export_state + * - Export filter + - ebas_export_filter + * - `Startdate <https://ebas-submit.nilu.no/templates/comments/startdate>`_ + - `ebas_startdate <https://ebas-submit.nilu.no/templates/comments/startdate>`_ + * - `Revision date <https://ebas-submit.nilu.no/templates/comments/revision_date>`_ + - `ebas_revision_date <https://ebas-submit.nilu.no/templates/comments/revision_date>`_ + * - `Version <https://ebas-submit.nilu.no/templates/comments/data_version>`_ + - `ebas_version <https://ebas-submit.nilu.no/templates/comments/data_version>`_ + * - `Version description <https://ebas-submit.nilu.no/templates/comments/version_description>`_ + - `ebas_version_description <https://ebas-submit.nilu.no/templates/comments/version_description>`_ + * - `Input dataset <https://ebas-submit.nilu.no/templates/comments/input_dataset>`_ + - `ebas_input_dataset <https://ebas-submit.nilu.no/templates/comments/input_dataset>`_ + * - `Software <https://ebas-submit.nilu.no/templates/comments/software>`_ + - `ebas_software <https://ebas-submit.nilu.no/templates/comments/software>`_ + * - `Statistics <https://ebas-submit.nilu.no/templates/comments/statistics>`_ + - `ebas_statistics <https://ebas-submit.nilu.no/templates/comments/statistics>`_ + * - `Data level <https://ebas-submit.nilu.no/templates/comments/data_level>`_ + - `ebas_data_level <https://ebas-submit.nilu.no/templates/comments/data_level>`_ + * - `Period code <https://ebas-submit.nilu.no/templates/comments/periode_code>`_ + - `ebas_period_code <https://ebas-submit.nilu.no/templates/comments/periode_code>`_ + * - `Resolution code <https://ebas-submit.nilu.no/templates/comments/resolution_code>`_ + - `ebas_resolution_code <https://ebas-submit.nilu.no/templates/comments/resolution_code>`_ + * - `Sample duration <https://ebas-submit.nilu.no/templates/comments/sample_duration>`_ + - `ebas_sample_duration <https://ebas-submit.nilu.no/templates/comments/sample_duration>`_ + * - `Orig. time res. <https://ebas-submit.nilu.no/templates/comments/original_time_resolution>`_ + - `ebas_orig_time_res <https://ebas-submit.nilu.no/templates/comments/original_time_resolution>`_ + * - `Station code <https://ebas-submit.nilu.no/templates/comments/station_code>`_ + - `ebas_station_code <https://ebas-submit.nilu.no/templates/comments/station_code>`_ + * - `Platform code <https://ebas-submit.nilu.no/templates/comments/platform_code>`_ + - `ebas_platform_code <https://ebas-submit.nilu.no/templates/comments/platform_code>`_ + * - `Station name <https://ebas-submit.nilu.no/templates/comments/station_name>`_ + - `ebas_station_name <https://ebas-submit.nilu.no/templates/comments/station_name>`_ + * - `Station WDCA-ID <https://ebas-submit.nilu.no/templates/comments/station_wdca_id>`_ + - `ebas_station_wdca_id <https://ebas-submit.nilu.no/templates/comments/station_wdca_id>`_ + * - `Station GAW-ID <https://ebas-submit.nilu.no/templates/comments/station_gaw_id>`_ + - `ebas_station_gaw_id <https://ebas-submit.nilu.no/templates/comments/station_gaw_id>`_ + * - `Station GAW-Name <https://ebas-submit.nilu.no/templates/comments/station_gaw_name>`_ + - `ebas_station_gaw_name <https://ebas-submit.nilu.no/templates/comments/station_gaw_name>`_ + * - `Station AIRS-ID <https://ebas-submit.nilu.no/templates/comments/station_airs_id>`_ + - `ebas_station_airs_id <https://ebas-submit.nilu.no/templates/comments/station_airs_id>`_ + * - `Station other IDs <https://ebas-submit.nilu.no/templates/comments/station_other_ids>`_ + - `ebas_station_other_ids <https://ebas-submit.nilu.no/templates/comments/station_other_ids>`_ + * - `Station state/province <https://ebas-submit.nilu.no/templates/comments/station_state_province>`_ + - `ebas_station_state_province <https://ebas-submit.nilu.no/templates/comments/station_state_province>`_ + * - `Station land use <https://ebas-submit.nilu.no/templates/comments/station_landuse>`_ + - `ebas_station_land_use <https://ebas-submit.nilu.no/templates/comments/station_landuse>`_ + * - `Station setting <https://ebas-submit.nilu.no/templates/comments/station_setting>`_ + - `ebas_station_setting <https://ebas-submit.nilu.no/templates/comments/station_setting>`_ + * - `Station GAW type <https://ebas-submit.nilu.no/templates/comments/station_gaw_type>`_ + - `ebas_station_gaw_type <https://ebas-submit.nilu.no/templates/comments/station_gaw_type>`_ + * - `Station WMO region <https://ebas-submit.nilu.no/templates/comments/station_wmo_region>`_ + - `ebas_station_wmo_region <https://ebas-submit.nilu.no/templates/comments/station_wmo_region>`_ + * - `Station latitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_station_latitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Station longitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_station_longitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Station altitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_station_altitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Measurement latitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_measuremenet_latitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Measurement longitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_measurement_longitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Measurement altitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_measurement_altitude <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Measurement height <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + - `ebas_measurement_height <https://ebas-submit.nilu.no/templates/comments/generic_lat_lon_alt_height>`_ + * - `Regime <https://ebas-submit.nilu.no/templates/comments/regime>`_ + - `ebas_regime <https://ebas-submit.nilu.no/templates/comments/regime>`_ + * - `Component <https://ebas-submit.nilu.no/templates/comments/component>`_ + - `ebas_component <https://ebas-submit.nilu.no/templates/comments/component>`_ + * - `Unit <https://ebas-submit.nilu.no/templates/comments/general_unit>`_ + - `ebas_unit <https://ebas-submit.nilu.no/templates/comments/general_unit>`_ + * - `Matrix <https://ebas-submit.nilu.no/templates/comments/matrix>`_ + - `ebas_matrix <https://ebas-submit.nilu.no/templates/comments/matrix>`_ + * - `Laboratory code <https://ebas-submit.nilu.no/templates/comments/laboratory_code>`_ + - `ebas_laboratory_code <https://ebas-submit.nilu.no/templates/comments/laboratory_code>`_ + * - `Instrument type <https://ebas-submit.nilu.no/templates/comments/instrument_type>`_ + - `ebas_instrument_type <https://ebas-submit.nilu.no/templates/comments/instrument_type>`_ + * - `Instrument name <https://ebas-submit.nilu.no/templates/comments/instrument_name>`_ + - `ebas_instrument_name <https://ebas-submit.nilu.no/templates/comments/instrument_name>`_ + * - `Instrument manufacturer <https://ebas-submit.nilu.no/templates/comments/instrument_manufacturer>`_ + - `ebas_instrument_manufacturer <https://ebas-submit.nilu.no/templates/comments/instrument_manufacturer>`_ + * - `Instrument model <https://ebas-submit.nilu.no/templates/comments/instrument_model>`_ + - `ebas_instrument_model <https://ebas-submit.nilu.no/templates/comments/instrument_model>`_ + * - `Instrument serial number <https://ebas-submit.nilu.no/templates/comments/instrument_serial>`_ + - `ebas_instrument_serial_number <https://ebas-submit.nilu.no/templates/comments/instrument_serial>`_ + * - Sensor type + - ebas_sensor_type + * - `Analytical laboratory code <https://ebas-submit.nilu.no/templates/comments/analytical_laboratory_code>`_ + - `ebas_analytical_laboratory_code <https://ebas-submit.nilu.no/templates/comments/analytical_laboratory_code>`_ + * - `Analytical measurement technique <https://ebas-submit.nilu.no/templates/comments/analytical_measurement_technique>`_ + - `ebas_analytical_measurement_technique <https://ebas-submit.nilu.no/templates/comments/analytical_measurement_technique>`_ + * - `Analytical instrument name <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_name>`_ + - `ebas_analytical_instrument_name <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_name>`_ + * - `Analytical instrument manufacturer <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_manufacturer>`_ + - `ebas_analytical_instrument_manufacturer <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_manufacturer>`_ + * - `Analytical instrument model <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_model>`_ + - `ebas_analytical_instrument_model <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_model>`_ + * - `Analytical instrument serial number <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_serial_number>`_ + - `ebas_analytical_instrument_serial_number <https://ebas-submit.nilu.no/templates/comments/analytical_instrument_serial_number>`_ + * - Ext. lab. code + - ebas_ext_lab_code + * - `Method ref <https://ebas-submit.nilu.no/templates/comments/method_ref>`_ + - `ebas_method_ref <https://ebas-submit.nilu.no/templates/comments/method_ref>`_ + * - `Standard method <https://ebas-submit.nilu.no/templates/comments/SOPs>`_ + - `ebas_standard_method <https://ebas-submit.nilu.no/templates/comments/SOPs>`_ + * - `Calibration scale <https://ebas-submit.nilu.no/templates/comments/calibration_scale>`_ + - `ebas_calibration_scale <https://ebas-submit.nilu.no/templates/comments/calibration_scale>`_ + * - `Calibration standard ID <https://ebas-submit.nilu.no/templates/comments/calibration_standard>`_ + - `ebas_calibration_standard_id <https://ebas-submit.nilu.no/templates/comments/calibration_standard>`_ + * - `Secondary standard ID <https://ebas-submit.nilu.no/templates/comments/secondary_standard>`_ + - `ebas_secondary_standard_id <https://ebas-submit.nilu.no/templates/comments/secondary_standard>`_ + * - `Inlet type <https://ebas-submit.nilu.no/templates/comments/inlet_type>`_ + - `ebas_inlet_type <https://ebas-submit.nilu.no/templates/comments/inlet_type>`_ + * - `Inlet description <https://ebas-submit.nilu.no/templates/comments/inlet_type>`_ + - `ebas_inlet_description <https://ebas-submit.nilu.no/templates/comments/inlet_type>`_ + * - `Inlet tube material <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + - `ebas_inlet_tube_material <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + * - `Inlet tube outer diameter <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + - `ebas_inlet_tube_outer_diameter <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + * - `Inlet tube inner diameter <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + - `ebas_inlet_tube_inner_diameter <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + * - `Inlet tube length <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + - `ebas_inlet_tube_length <https://ebas-submit.nilu.no/templates/comments/inlet_tube>`_ + * - `Time from entry inlet line to entry of converter <https://ebas-submit.nilu.no/templates/comments/time_inlet_to_converter>`_ + - `ebas_time_from_entry_inlet_line_to_entry_of_converter <https://ebas-submit.nilu.no/templates/comments/time_inlet_to_converter>`_ + * - `Duration of stay in converter or bypass line <https://ebas-submit.nilu.no/templates/comments/time_converter_or_bypass_line>`_ + - `ebas_duration_of_stay_in_converter_or_bypass_line <https://ebas-submit.nilu.no/templates/comments/time_converter_or_bypass_line>`_ + * - `Duration of stay in converter <https://ebas-submit.nilu.no/templates/comments/time_stay_converter>`_ + - `ebas_duration_of_stay_in_converter <https://ebas-submit.nilu.no/templates/comments/time_stay_converter>`_ + * - `Converter temperature <https://ebas-submit.nilu.no/templates/comments/converter_temp>`_ + - `ebas_converter_temperature <https://ebas-submit.nilu.no/templates/comments/converter_temp>`_ + * - `Maintenance description <https://ebas-submit.nilu.no/templates/comments/maintenance_description>`_ + - `ebas_maintenance_description <https://ebas-submit.nilu.no/templates/comments/maintenance_description>`_ + * - `Flow rate <https://ebas-submit.nilu.no/templates/comments/flow_rate>`_ + - `ebas_flow_rate <https://ebas-submit.nilu.no/templates/comments/flow_rate>`_ + * - `Filter face velocity <https://ebas-submit.nilu.no/templates/comments/filter_face_velocity>`_ + - `ebas_filter_face_velocity <https://ebas-submit.nilu.no/templates/comments/filter_face_velocity>`_ + * - `Exposed filter area <https://ebas-submit.nilu.no/templates/comments/exposed_filter_area>`_ + - `ebas_exposed_filter_area <https://ebas-submit.nilu.no/templates/comments/exposed_filter_area>`_ + * - `Filter description <https://ebas-submit.nilu.no/templates/comments/filter_description>`_ + - `ebas_filter_description <https://ebas-submit.nilu.no/templates/comments/filter_description>`_ + * - `Medium <https://ebas-submit.nilu.no/templates/comments/filter_medium>`_ + - `ebas_medium <https://ebas-submit.nilu.no/templates/comments/filter_medium>`_ + * - Coating/Solution + - ebas_coating_solution + * - `Filter prefiring <https://ebas-submit.nilu.no/templates/comments/filter_prefiring>`_ + - `ebas_filter_prefiring <https://ebas-submit.nilu.no/templates/comments/filter_prefiring>`_ + * - `Filter conditioning <https://ebas-submit.nilu.no/templates/comments/filter_conditioning>`_ + - `ebas_filter_conditioning <https://ebas-submit.nilu.no/templates/comments/filter_conditioning>`_ + * - `Filter type <https://ebas-submit.nilu.no/templates/comments/filter_type>`_ + - `ebas_filter_type <https://ebas-submit.nilu.no/templates/comments/filter_type>`_ + * - `Sample preparation <https://ebas-submit.nilu.no/templates/comments/sample_preparation>`_ + - `ebas_sample_preparation <https://ebas-submit.nilu.no/templates/comments/sample_preparation>`_ + * - `Blank correction <https://ebas-submit.nilu.no/templates/comments/blank_correction>`_ + - `ebas_blank_correction <https://ebas-submit.nilu.no/templates/comments/blank_correction>`_ + * - `Artifact correction <https://ebas-submit.nilu.no/templates/comments/artifact_correction>`_ + - `ebas_artifact_correction <https://ebas-submit.nilu.no/templates/comments/artifact_correction>`_ + * - `Artifact correction description <https://ebas-submit.nilu.no/templates/comments/artifact_correction_description>`_ + - `ebas_artifact_correction_description <https://ebas-submit.nilu.no/templates/comments/artifact_correction_description>`_ + * - `Charring correction <https://ebas-submit.nilu.no/templates/comments/charring_correction>`_ + - `ebas_charring_correction <https://ebas-submit.nilu.no/templates/comments/charring_correction>`_ + * - `Ozone correction <https://ebas-submit.nilu.no/templates/comments/ozone_correction>`_ + - `ebas_ozone_correction <https://ebas-submit.nilu.no/templates/comments/ozone_correction>`_ + * - `Water vapor correction <https://ebas-submit.nilu.no/templates/comments/water_vapor_correction>`_ + - `ebas_water_vapor_correction <https://ebas-submit.nilu.no/templates/comments/water_vapor_correction>`_ + * - `Zero/span check type <https://ebas-submit.nilu.no/templates/comments/zero_span>`_ + - `ebas_zero_span_check_type <https://ebas-submit.nilu.no/templates/comments/zero_span>`_ + * - `Zero/span check interval <https://ebas-submit.nilu.no/templates/comments/zero_span>`_ + - `ebas_zero_span_check_interval <https://ebas-submit.nilu.no/templates/comments/zero_span>`_ + * - `Humidity/temperature control <https://ebas-submit.nilu.no/templates/comments/humidity_control>`_ + - `ebas_humidity_temperaure_control <https://ebas-submit.nilu.no/templates/comments/humidity_control>`_ + * - `Humidity/temperature control description <https://ebas-submit.nilu.no/templates/comments/humidity_control>`_ + - `ebas_humidity_temperaure_control_description <https://ebas-submit.nilu.no/templates/comments/humidity_control>`_ + * - `Volume std. temperature <https://ebas-submit.nilu.no/templates/comments/volume_std_temperature_pressure>`_ + - `ebas_volume_std_temperature <https://ebas-submit.nilu.no/templates/comments/volume_std_temperature_pressure>`_ + * - `Volume std. pressure <https://ebas-submit.nilu.no/templates/comments/volume_std_temperature_pressure>`_ + - `ebas_volume_std_pressure <https://ebas-submit.nilu.no/templates/comments/volume_std_temperature_pressure>`_ + * - `Detection limit <https://ebas-submit.nilu.no/templates/comments/detection_limit>`_ + - `ebas_detection_limit <https://ebas-submit.nilu.no/templates/comments/detection_limit>`_ + * - `Detection limit expl. <https://ebas-submit.nilu.no/templates/comments/detection_limit>`_ + - `ebas_detection_limit_expl <https://ebas-submit.nilu.no/templates/comments/detection_limit>`_ + * - Upper range limit + - ebas_upper_range_limit + * - `Measurement uncertainty <https://ebas-submit.nilu.no/templates/comments/measurement_uncertainty>`_ + - `ebas_measurement_uncertainty <https://ebas-submit.nilu.no/templates/comments/measurement_uncertainty>`_ + * - `Measurement uncertainty expl. <https://ebas-submit.nilu.no/templates/comments/measurement_uncertainty_expl>`_ + - `ebas_measurement_uncertainty_expl <https://ebas-submit.nilu.no/templates/comments/measurement_uncertainty_expl>`_ + * - `Zero/negative values code <https://ebas-submit.nilu.no/templates/comments/zero_negative_values>`_ + - `ebas_zero_negative_values_code <https://ebas-submit.nilu.no/templates/comments/zero_negative_values>`_ + * - `Zero/negative values <https://ebas-submit.nilu.no/templates/comments/zero_negative_values>`_ + - `ebas_zero_negative_values <https://ebas-submit.nilu.no/templates/comments/zero_negative_values>`_ + * - `Absorption cross section <https://ebas-submit.nilu.no/templates/comments/absorption_cross_section>`_ + - `ebas_absorption_cross_section <https://ebas-submit.nilu.no/templates/comments/absorption_cross_section>`_ + * - Mass absorption cross section + - ebas_mass_absorption_cross_section + * - Multi-scattering correction factor + - ebas_multi_scattering_correction_factor + * - `Maximum attenuation <https://ebas-submit.nilu.no/templates/comments/maximum_attenuation>`_ + - `ebas_maximum_attenuation <https://ebas-submit.nilu.no/templates/comments/maximum_attenuation>`_ + * - `Leakage factor zeta <https://ebas-submit.nilu.no/templates/comments/leakage_factor_zeta>`_ + - `ebas_leakage_factor_zeta <https://ebas-submit.nilu.no/templates/comments/leakage_factor_zeta>`_ + * - `Compensation threshold attenuation 1 <https://ebas-submit.nilu.no/templates/comments/compensation_threshold_attenuation>`_ + - `ebas_compensation_threshold_attenuation_1 <https://ebas-submit.nilu.no/templates/comments/compensation_threshold_attenuation>`_ + * - `Compensation threshold attenuation 2 <https://ebas-submit.nilu.no/templates/comments/compensation_threshold_attenuation>`_ + - `ebas_compensation_threshold_attenuation_2 <https://ebas-submit.nilu.no/templates/comments/compensation_threshold_attenuation>`_ + * - `Compensation parameter k min <https://ebas-submit.nilu.no/templates/comments/compensation_parameter>`_ + - `ebas_compensation_parameter_k_min <https://ebas-submit.nilu.no/templates/comments/compensation_parameter>`_ + * - `Compensation parameter k max <https://ebas-submit.nilu.no/templates/comments/compensation_parameter>`_ + - `ebas_compensation_parameter_k_max <https://ebas-submit.nilu.no/templates/comments/compensation_parameter>`_ + * - Coincidence correction + - ebas_coincidence_correction + * - Charge type + - ebas_charge_type + * - Inlet diffusion loss data + - ebas_inlet_diffusion_loss_data + * - CPC default pulse width + - ebas_cpc_default_pulse_width + * - `QA measure ID <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_measure_id <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA measure description <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_measure_description <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA date <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_date <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA outcome <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_outcome <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA bias <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_bias <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA variability <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_variability <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA document name <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_document_name <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA document date <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_document_date <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `QA document URL <https://ebas-submit.nilu.no/templates/comments/qa>`_ + - `ebas_qa_document_url <https://ebas-submit.nilu.no/templates/comments/qa>`_ + * - `Originator <https://ebas-submit.nilu.no/templates/comments/data_originator_affiliation_and_contact_information>`_ + - `ebas_originator <https://ebas-submit.nilu.no/templates/comments/data_originator_affiliation_and_contact_information>`_ + * - `Submitter <https://ebas-submit.nilu.no/templates/comments/data_submitter_affiliation_and_contact_information>`_ + - `ebas_submitter <https://ebas-submit.nilu.no/templates/comments/data_submitter_affiliation_and_contact_information>`_ + * - `Acknowledgement <https://ebas-submit.nilu.no/templates/comments/acknowledgement_information>`_ + - `ebas_acknowledgement <https://ebas-submit.nilu.no/templates/comments/acknowledgement_information>`_ + * - `Comment <https://ebas-submit.nilu.no/templates/comments/comment>`_ + - `ebas_comment <https://ebas-submit.nilu.no/templates/comments/comment>`_ diff --git a/docs/fileformat_netcdf/index.rst b/docs/fileformat_netcdf/index.rst index c784a1388628aaa4fedcf15fc8e49865abf05586..dbc9d8444d3fc1c9c31ac0856dfe19d40d966742 100644 --- a/docs/fileformat_netcdf/index.rst +++ b/docs/fileformat_netcdf/index.rst @@ -1,9 +1,24 @@ -====================== +###################### EBAS NetCDF Fileformat -====================== +###################### -.. include:: 01_intro.rst -.. include:: 02_metadata.rst -.. include:: 03_dimensions.rst -.. include:: 04_variables.rst -.. include:: 05_examples.rst + +************ +Introduction +************ + +The EBAS NetCDF file format features some advantages over the older EBAS +NasaAmes file format: + + * NetCDF/CF conformity + * Good file access support by standard reading libraries + * Datasets with changing metadata over time can be stored (see time dependent metadata) + * Additional dimensions available for e.g. measurements in multiple size bins, wavenlength etc. + +.. toctree:: + :maxdepth: 1 + + metadata.rst + dimensions.rst + variables.rst + examples.rst diff --git a/docs/fileformat_netcdf/metadata.rst b/docs/fileformat_netcdf/metadata.rst new file mode 100644 index 0000000000000000000000000000000000000000..6be92a117d5abfc58c6bef4d6fc7b54aaa38d6eb --- /dev/null +++ b/docs/fileformat_netcdf/metadata.rst @@ -0,0 +1,106 @@ +******** +Metadata +******** + +Metadata are provided at different levels (global attributes, variable +attributes and variables containing metadata for specific time ranges). + +Metadata can be required or recommended by different metadata convention. +Additionally, the full set of EBAS metadata is provided at the different levels. + +Metadata governed by mentioned conventions are on a more generic an higher level. +Those metadata are particularly useful for data discovery, visualisation or processing in a more generic way. +They are very important to make standard tools work seamlessly with EBAS NetCDF files. + +EBAS metadata are more detailed and very specific to the various types of measurement. + +Supported Metadata Conventions +============================== + +NetCDF +------ + +The `NetCDF Users Guide <https://docs.unidata.ucar.edu/nug/current/index.html>`_ +recommends the global attributes ``title``, ``history`` and ``Conventions`` +as well as the variable attribute ``long_name`` and ``unit`` for all variables. + +CF Metadata Conventions +----------------------- + +The `CF Metadata Conventions <https://cfconventions.org>`_ +longer list of metadata as global or variable attributes. + + +ACDD convention +--------------- + +The `ACDD convention <https://wiki.esipfed.org/Attribute_Convention_for_Data_Discovery>`_ +focuses on attributes recommended for describing netCDF datasets to discovery systems. +Cataloging tools like the THREDDS can use this metadata or map to other metadata +standards (Dublin Core, ISO 19115). + +EBAS Metadata +============= + +:ref:`All EBAS metadata<all_ebasmetadata>` are supported and used in EBAS NetCDF files. + +Metadata will appear in three different places: + + * **As global attributes:** EBAS metadata will appear as global attributes when: + + * The respective metadata element is the same for all variables and the full time ranges in the file. + This is typically the case for common metadata like e.g. station and instrument metadata. + + * For some metadata elements an aggregation of metadata in the file is useful. + This is the case for framework, originator (PI) and submitter as well as revision date. + + EBAS metadata are implemented as global attributes with the prefix ``ebas_``. + The attribute names of all possible EBAS metadata can be seen in the column + *NetCDF Tag* in this :ref:`list<all_ebasmetadata>` + + Example: global attribute ``ebas_data_definition``. + + * **As variable attributes:** EBAS metadata will appear as variable attributes when + the metadata value applies to the whole time range of the variable. + EBAS metadata are variable attribues with the prefix ``ebas_``. + The attribute names of all possible EBAS metadata can be seen in the column + *NetCDF Tag* in this :ref:`list<all_ebasmetadata>` + + * **As time dependent metadata:** Some metadata may change over time during the valid period + of the dataset. As an example, the instrument serial number might change during + many years of measurement. More on time dependent metadata in the next paragraph. + +.. toctree:: + + gen_ebas_metadata.rst + + +Time depenendent metadata +========================= + +As mentioned above, some metadata in EBAS can change over time. For file formats like +the EBAS Nasa Ames file format, this means that a files need to be split on every change +of metadata during history. + +One of the biggest technical advantage of the EBAS NetCDF fileformat is that those +metadata changes can be stored in the file. Thus, all datasets (DOIs) in EBAS +can be written to a single NetCDF file. + +Implementation +-------------- + +Time dependent metadata are implemented as additional variable for each data +variable, named like the main variable name with a postfix ``_ebasmetadata``. + +The data type for the metadata variables is string and it contains a set of all ebas +metadata for the specific time range as json encoded string. + +There is a dedicated time dimension for all metadata changes, called ``metadata_time``. +This should not be confused with the ``time`` dimension used for the measurement data. +The ``time`` dimension has usually a length of > 1000 (one for each measurment interval), +the ``metadata_time`` dimension has typically only a length of < 10, one for each change of metadata. + +In analogy to the time variable, the ``metadata_time`` variable has also a related boundary +variable ``metadata_time_bnds``. See :ref:`time_bnds` for more information on the boundary variables for the time dimensions. + + diff --git a/docs/fileformat_netcdf/variables.rst b/docs/fileformat_netcdf/variables.rst new file mode 100644 index 0000000000000000000000000000000000000000..17c9ac81565c116f1f2eb076f3b59b199cf888a3 --- /dev/null +++ b/docs/fileformat_netcdf/variables.rst @@ -0,0 +1,10 @@ +********* +Variables +********* + + * time_bnds ? --> dimensions + * metadatatime_bnds ? --> dimensions + + * general - amean, gc, ebasmetadata + * statistics - precentiler, std etc. + * converted units diff --git a/docs/index.rst b/docs/index.rst index 3008e5ff36ec9542f6eafa483553c5e215c9bb77..b0777f1d5702bf133184d0e602ac95183bbe0d34 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,3 @@ -======= -ebas-io -======= - .. toctree:: :maxdepth: 1