From 945109900e494d4644845986d7d91ffa94f303bc Mon Sep 17 00:00:00 2001 From: Yaswant Pradhan <2984440+yaswant@users.noreply.github.com> Date: Tue, 31 Oct 2023 10:33:31 +0000 Subject: [PATCH 1/2] Fix CI housekeep (#187) * Fix CI housekeep * fix workflow syntax * fix workflow syntaxt * tidy --- .github/workflows/ci.yml | 72 ++++++++++++++++++++++------------------ ci/CMakeLists.txt | 2 ++ ci/build-and-test | 6 ++++ 3 files changed, 47 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4ea826d..ce1e6b78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,10 @@ on: pull_request: branches: [develop] +concurrency: + group: ${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }} + env: REPO: ${{ github.event.repository.name }} BUNDLE: pr-${{ github.event.number }} @@ -16,21 +20,20 @@ jobs: name: gnu 11.3.1 (UKMO) if: github.repository_owner == 'MetOffice' runs-on: jedi-self-hosted-rg - + steps: - - name: pre-submit cleanup + - name: Pre-submit cleanup run: | - ls -la ./ rm -fr ./${{ env.BUNDLE }} || true - ls -la ./ - - name: checkout current + ls -lgo ./ + - name: Checkout current uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/${{ env.REPO }} - - name: initiate bundle + - name: Initiate bundle run: cp ./${{ env.BUNDLE }}/${{ env.REPO }}/ci/* ./${{ env.BUNDLE }}/ - - name: checkout jedicmake + - name: Checkout jedicmake uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/jedicmake @@ -38,45 +41,48 @@ jobs: submodules: true token: ${{ secrets.GH_PAT }} - - name: checkout oops + - name: Checkout oops uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/oops repository: JCSDA-internal/oops token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt oops ${{ github.head_ref }} + - name: Checkout attempt for oops@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/oops - - name: checkout ioda + - name: Checkout ioda uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ioda repository: JCSDA-internal/ioda token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ioda ${{ github.head_ref }} + - name: Checkout attempt for ioda@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ioda - - name: checkout ufo + - name: Checkout ufo uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ufo repository: JCSDA-internal/ufo token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ufo ${{ github.head_ref }} + - name: Checkout attempt for ufo@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ufo - - name: build and test + - name: Build and Test run: | az acr login --name ngmssboxjediacr docker run --rm \ --entrypoint=/usr/local/src/${REPO}/${BUNDLE}/build-and-test \ --workdir=/usr/local/src/${REPO}/${BUNDLE} \ --volume ${PWD}/${BUNDLE}:/usr/local/src/${REPO}/${BUNDLE} \ - 'ngmssboxjediacr.azurecr.io/jedibase:alma9' \ - && rm -fr ${{github.workspace}}/${{env.BUNDLE}} + 'ngmssboxjediacr.azurecr.io/jedibase:alma9' + + - name: Cleanup workspace + working-directory: ${{github.workspace}} + run: rm -fr ${{ env.BUNDLE }} || true build2: name: gnu 9.4.0 (JCSDA) @@ -84,14 +90,14 @@ jobs: runs-on: ubuntu-latest steps: - - name: checkout current + - name: Checkout current uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/${{ env.REPO }} - name: initiate bundle run: cp ./${{ env.BUNDLE }}/${{ env.REPO }}/ci/* ./${{ env.BUNDLE }}/ - - name: checkout jedicmake + - name: Checkout jedicmake uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/jedicmake @@ -99,33 +105,33 @@ jobs: submodules: true token: ${{ secrets.GH_PAT }} - - name: checkout oops + - name: Checkout oops uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/oops repository: JCSDA-internal/oops token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt oops ${{ github.head_ref }} + - name: Checkout attempt for oops@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/oops - - name: checkout ioda + - name: Checkout ioda uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ioda repository: JCSDA-internal/ioda token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ioda ${{ github.head_ref }} + - name: Checkout attempt for ioda@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ioda - - name: checkout ufo + - name: Checkout ufo uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ufo repository: JCSDA-internal/ufo token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ufo ${{ github.head_ref }} + - name: Checkout attempt for ufo@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ufo @@ -143,14 +149,14 @@ jobs: runs-on: ubuntu-latest steps: - - name: checkout current + - name: Checkout current uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/${{ env.REPO }} - name: initiate bundle run: cp ./${{ env.BUNDLE }}/${{ env.REPO }}/ci/* ./${{ env.BUNDLE }}/ - - name: checkout jedicmake + - name: Checkout jedicmake uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/jedicmake @@ -158,37 +164,37 @@ jobs: submodules: true token: ${{ secrets.GH_PAT }} - - name: checkout oops + - name: Checkout oops uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/oops repository: JCSDA-internal/oops token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt oops ${{ github.head_ref }} + - name: Checkout attempt for oops@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/oops - - name: checkout ioda + - name: Checkout ioda uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ioda repository: JCSDA-internal/ioda token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ioda ${{ github.head_ref }} + - name: Checkout attempt for ioda@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ioda - - name: checkout ufo + - name: Checkout ufo uses: actions/checkout@v4 with: path: ./${{ env.BUNDLE }}/ufo repository: JCSDA-internal/ufo token: ${{ secrets.GH_PAT }} - - name: matching branch checkout attempt ufo ${{ github.head_ref }} + - name: Checkout attempt for ufo@${{ github.head_ref }} if: github.event_name == 'pull_request' run: ./${{ env.BUNDLE }}/get-ref-branch ./${{ env.BUNDLE }}/ufo - - name: build and test + - name: Build and Test run: | docker run --rm \ --entrypoint=/usr/local/src/${REPO}/${BUNDLE}/build-and-test \ diff --git a/ci/CMakeLists.txt b/ci/CMakeLists.txt index f1f0decc..c5874cf5 100644 --- a/ci/CMakeLists.txt +++ b/ci/CMakeLists.txt @@ -7,6 +7,8 @@ project( opsinputs-ci VERSION 0.1 LANGUAGES C CXX Fortran ) set( ENABLE_MPI ON CACHE BOOL "Compile with MPI" ) set( ENABLE_OMP ON CACHE BOOL "Compile with OpenMP" ) +option(ENABLE_IODA_DATA "Obtain ioda test data from ioda-data repository (vs tarball)" ON) +option(ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON) add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/jedicmake") if(NOT DEFINED jedicmake_DIR) diff --git a/ci/build-and-test b/ci/build-and-test index 975c5c93..81b94676 100755 --- a/ci/build-and-test +++ b/ci/build-and-test @@ -2,6 +2,8 @@ # # (C) Crown Copyright 2023, the Met Office. All rights reserved. # +# shellcheck disable=SC2317 +# shellcheck source=/dev/null set -euo pipefail finally() { @@ -11,6 +13,10 @@ finally() { cd / rm -fr "${WORKD}" fi + if [[ -d ${BASE:-} ]]; then + cd / + rm -fr "$BASE" 2>/dev/null || true + fi } # -- HERE is /usr/local/src//pr-<#> (cf ../.github/workflow/ci.yml) From 698841c81a32fb2abbfddbeb03e3afd152547b26 Mon Sep 17 00:00:00 2001 From: James Cotton <64855970+james-cotton@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:35:33 +0000 Subject: [PATCH 2/2] Write varobs and varcx for Scatwind chosen solution (#182) * First attempt at adding ScatwindChosen. Compiles and existing ctest pass. * Add varobs tests. Pass. * Add cxwriter test for scatwind. Scatwindchosen is the same. * Add varobs namelist * Trigger CI * Trigger CI * Trigger CI * Move modified directories to stubs * Missed include and tidy stubs in CMakeLists --------- Co-authored-by: Yaswant Pradhan <2984440+yaswant@users.noreply.github.com> --- deps/ops/CMakeLists.txt | 32 +++++------ .../OpsMod_CXGenerate/OpsMod_CXGenerate.f90 | 0 .../OpsMod_FieldDataShared.f90 | 0 .../OpsMod_CXGenerate/OpsMod_FieldRead.f90 | 0 .../OpsMod_CXGenerate/OpsMod_SharedMemory.f90 | 0 .../Ops_BGEAndCxCreateFromNetCDF.inc | 0 .../OpsMod_CXGenerate/Ops_BGEComplete.inc | 0 .../OpsMod_CXGenerate/Ops_BGEandCxCreate.inc | 0 .../OpsMod_CXGenerate/Ops_CXAddField.inc | 0 .../OpsMod_CXGenerate/Ops_CXGenerate.inc | 0 .../OpsMod_CXGenerate/Ops_CXPerformInterp.inc | 0 .../Ops_CXPreproLocations.inc | 0 .../OpsMod_CXGenerate/Ops_CXSetup.inc | 0 .../OpsMod_CXGenerate/Ops_CXSetupArrays.inc | 0 .../Ops_CXSetupArraysAncil.inc | 0 .../OpsMod_CXGenerate/Ops_CXSlantPressure.inc | 0 .../OpsMod_CXGenerate/Ops_CalcTLapse.inc | 0 .../OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc | 0 .../OpsMod_CXGenerate/Ops_CxComplete.inc | 0 .../OpsMod_CXGenerate/Ops_DeriveField.inc | 0 .../Ops_FinalFieldDataShared.inc | 0 .../Ops_GetDefaultBgerrFields.inc | 0 .../Ops_GetDefaultCxFields.inc | 2 +- .../OpsMod_CXGenerate/Ops_GetReqDims.inc | 0 .../Ops_GetUMFieldAvailable.inc | 0 .../OpsMod_CXGenerate/Ops_GetUMFieldDims.inc | 0 .../Ops_InitFieldDataShared.inc | 0 .../OpsMod_CXGenerate/Ops_LocateUMField.inc | 0 .../OpsMod_CXGenerate/Ops_ReadCXControlNL.inc | 0 .../Ops_ReadFieldsControlNL.inc | 0 .../OpsMod_CXGenerate/Ops_ReadModelShared.inc | 0 .../OpsMod_CXGenerate/Ops_ReadUMField.inc | 0 .../OpsMod_CXGenerate/Ops_UncompressDump.inc | 0 .../OpsFn_ConvertToODBDate_real.inc | 0 .../OpsFn_ConvertToODBTime_real.inc | 0 .../OpsMod_ODB/OpsFn_IsTable.inc | 0 .../OpsMod_ODB/OpsFn_ODBExists.inc | 0 .../OpsMod_ODB/OpsFn_ObsToReportType.inc | 5 +- .../OpsMod_ODB/OpsFn_RunidToNum.inc | 0 .../OpsMod_ODB/OpsMod_ODBFlags.f90 | 0 .../OpsMod_ODB/OpsMod_ODBInfo.f90 | 0 .../OpsMod_ODB/OpsMod_ODBKinds.f90 | 0 .../OpsMod_ODB/OpsMod_ODBOPSInterface.f90 | 0 .../OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 | 0 .../OpsMod_ODB/OpsMod_ODBTableInfo.f90 | 0 .../OpsMod_ODB/OpsMod_ODBTypes.f90 | 0 .../OpsMod_ODB/OpsMod_ODBUtils.F90 | 0 .../OpsMod_ODB/OpsODB_InitODBElemDesp.inc | 0 .../OpsODB_InitODBElemDesp_Body.inc | 0 .../OpsMod_ODB/OpsProg_CreateODB.f90 | 0 .../OpsMod_ODB/OpsProg_MergeODB.f90 | 0 .../OpsMod_ODB/OpsProg_SimulObs.f90 | 0 .../Ops_AndODBBits_scalar_to_array.inc | 0 .../OpsMod_ODB/Ops_CloseODB.inc | 0 .../OpsMod_ODB/Ops_LockODB.inc | 0 .../OpsMod_ODB/Ops_OpenODB.inc | 0 .../OpsMod_ODB/Ops_OrODBBits_array.inc | 0 .../Ops_OrODBBits_scalar_to_array.inc | 0 .../OpsMod_ODB/Ops_ReadODBControlNL.inc | 0 .../OpsMod_ODB/Ops_ReadODBMergeNL.inc | 0 .../OpsMod_ODB/Ops_ReadODBReportTypeMap.inc | 0 .../OpsMod_ODB/Ops_RunODBQuery.inc | 0 .../OpsMod_ODB/Ops_SetODBBit_scalar.inc | 0 .../Ops_SetODBBit_scalar_to_array.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_array_char.inc | 0 .../Ops_SetODBVal_array_integer.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_array_real32.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_array_real64.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc | 0 .../Ops_SetODBVal_s_to_a_integer.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_scalar_char.inc | 0 .../Ops_SetODBVal_scalar_integer.inc | 0 .../OpsMod_ODB/Ops_SetODBVal_scalar_real.inc | 0 .../OpsMod_ODB/Ops_SetupODBReportTypes.inc | 0 .../OpsMod_ODB/Ops_SetupODBVertcoTypes.inc | 0 .../OpsMod_ODB/Ops_UnlockODB.inc | 0 .../OpsMod_ODB/Ops_WriteODBTable.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_addpools.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_cancel.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_close.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_get.inc | 0 .../wrappers/ops_odb_get_column_names.inc | 0 .../wrappers/ops_odb_get_column_types.inc | 0 .../wrappers/ops_odb_get_num_columns.inc | 0 .../wrappers/ops_odb_get_num_tables.inc | 0 .../wrappers/ops_odb_get_query_size.inc | 0 .../wrappers/ops_odb_get_table_names.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_getsize.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_getval.inc | 0 .../wrappers/ops_odb_getval_hardwired.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_init.inc | 0 .../wrappers/ops_odb_is_column_available.inc | 0 .../wrappers/ops_odb_is_query_valid.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_open.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_put.inc | 0 .../wrappers/ops_odb_register_vector.inc | 0 .../wrappers/ops_odb_varindex_scalar.inc | 0 .../OpsMod_ODB/wrappers/ops_odb_wrappers.F90 | 0 .../OpsMod_Varobs/OpsFn_VarFieldNumToName.inc | 0 .../OpsMod_Varobs/OpsMod_Varobs.f90 | 0 .../OpsMod_Varobs/Ops_CheckVarFields.inc | 9 ++- .../OpsMod_Varobs/Ops_CreateVarobs.inc | 0 .../OpsMod_Varobs/Ops_GetDefaultVarfields.inc | 2 + .../OpsMod_Varobs/Ops_ModelObToOb.inc | 0 .../OpsMod_Varobs/Ops_ReadVarobsControlNL.inc | 0 .../OpsMod_Varobs/Ops_SetupVarArray.inc | 7 ++- .../OpsMod_Varobs/Ops_SetupVarobsColDepC.inc | 0 .../OpsMod_Varobs/Ops_SetupVarobsFixhd.inc | 0 .../OpsMod_Varobs/Ops_SetupVarobsIntC.inc | 0 .../OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc | 3 +- .../OpsMod_Varobs/Ops_SetupVarobsLookup.inc | 0 .../OpsMod_Varobs/Ops_SetupVarobsRealC.inc | 0 .../OpsMod_Varobs/Ops_VarobPGEs.inc | 0 .../OpsMod_Varobs/Ops_WriteVarobs.inc | 0 .../Ops_Constants/GenMod_CLookAdd.f90 | 0 .../Ops_Constants/GenMod_Constants.f90 | 0 .../GenMod_MiscUMScienceConstants.f90 | 0 .../GenMod_UMHeaderConstants.f90 | 0 .../Ops_Constants/OpsFn_ASRToClrGeoGroup.inc | 0 .../Ops_Constants/OpsFn_IsAHIGroup.inc | 0 .../Ops_Constants/OpsFn_IsASRGeoGroup.inc | 0 .../Ops_Constants/OpsFn_IsClrGeoGroup.inc | 0 .../Ops_Constants/OpsFn_IsModelLevelGroup.inc | 0 .../Ops_Constants/OpsFn_IsSEVIRIGroup.inc | 0 .../Ops_Constants/OpsFn_IsSatRadGroup.inc | 0 .../Ops_Constants/OpsFn_ObsGroupNameToNum.inc | 2 + .../Ops_Constants/OpsFn_ObsGroupNumToName.inc | 4 +- .../Ops_Constants/OpsMod_Ancil.f90 | 0 .../Ops_Constants/OpsMod_BufrDescriptors.f90 | 0 .../Ops_Constants/OpsMod_CXIndexes.f90 | 0 .../Ops_Constants/OpsMod_Constants.f90 | 0 .../Ops_Constants/OpsMod_Kinds.F90 | 0 .../Ops_Constants/OpsMod_ObsGroupInfo.f90 | 3 +- .../Ops_Constants/OpsMod_ObsTypes.f90 | 0 .../Ops_Constants/OpsMod_OrigCtrs.f90 | 0 .../Ops_Constants/OpsMod_SatIds.f90 | 0 .../Ops_Constants/OpsMod_Stash.f90 | 0 .../Ops_Constants/OpsMod_Varfields.f90 | 0 .../Ops_Constants/Ops_SubTypeNameToNum.inc | 0 .../Ops_Constants/Ops_SubTypeNumToName.inc | 0 deps/update_ops_sources.sh | 4 -- etc/global/varobs/ScatwindChosen.nl | 3 + src/opsinputs/CMakeLists.txt | 2 +- src/opsinputs/opsinputs_cxwriter_mod.F90 | 1 + src/opsinputs/opsinputs_varobswriter_mod.F90 | 9 +++ test/CMakeLists.txt | 9 +++ test/generate_unittest_netcdfs.py | 11 ++++ .../004_VarField_u_ScatwindChosen.nc4 | Bin 0 -> 14260 bytes .../004_VarField_u_ScatwindChosen.yaml | 44 +++++++++++++++ .../005_VarField_v_ScatwindChosen.nc4 | Bin 0 -> 14260 bytes .../005_VarField_v_ScatwindChosen.yaml | 44 +++++++++++++++ test/testinput/cx_globalnamelist_scatwind.nc4 | Bin 0 -> 17758 bytes .../cxwriter_globalnamelist_scatwind.yaml | 52 ++++++++++++++++++ 154 files changed, 216 insertions(+), 32 deletions(-) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/OpsMod_CXGenerate.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/OpsMod_FieldDataShared.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/OpsMod_FieldRead.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/OpsMod_SharedMemory.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_BGEAndCxCreateFromNetCDF.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_BGEComplete.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_BGEandCxCreate.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXAddField.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXGenerate.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXPerformInterp.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXPreproLocations.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXSetup.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXSetupArrays.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXSetupArraysAncil.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CXSlantPressure.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CalcTLapse.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_CxComplete.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_DeriveField.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_FinalFieldDataShared.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_GetDefaultBgerrFields.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc (99%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_GetReqDims.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_GetUMFieldAvailable.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_GetUMFieldDims.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_InitFieldDataShared.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_LocateUMField.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_ReadCXControlNL.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_ReadFieldsControlNL.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_ReadModelShared.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_ReadUMField.inc (100%) rename deps/ops/{code => stubs}/OpsMod_CXGenerate/Ops_UncompressDump.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_ConvertToODBDate_real.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_ConvertToODBTime_real.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_IsTable.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_ODBExists.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_ObsToReportType.inc (99%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsFn_RunidToNum.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBFlags.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBInfo.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBKinds.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBOPSInterface.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBTableInfo.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBTypes.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsMod_ODBUtils.F90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsODB_InitODBElemDesp.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsODB_InitODBElemDesp_Body.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsProg_CreateODB.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsProg_MergeODB.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/OpsProg_SimulObs.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_AndODBBits_scalar_to_array.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_CloseODB.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_LockODB.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_OpenODB.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_OrODBBits_array.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_OrODBBits_scalar_to_array.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_ReadODBControlNL.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_ReadODBMergeNL.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_ReadODBReportTypeMap.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_RunODBQuery.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBBit_scalar.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBBit_scalar_to_array.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_array_char.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_array_integer.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_array_real32.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_array_real64.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_s_to_a_integer.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_scalar_char.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_scalar_integer.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetODBVal_scalar_real.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetupODBReportTypes.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_SetupODBVertcoTypes.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_UnlockODB.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/Ops_WriteODBTable.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_addpools.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_cancel.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_close.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_column_names.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_column_types.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_num_columns.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_num_tables.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_query_size.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_get_table_names.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_getsize.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_getval.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_getval_hardwired.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_init.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_is_column_available.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_is_query_valid.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_open.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_put.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_register_vector.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_varindex_scalar.inc (100%) rename deps/ops/{code => stubs}/OpsMod_ODB/wrappers/ops_odb_wrappers.F90 (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/OpsFn_VarFieldNumToName.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/OpsMod_Varobs.f90 (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_CheckVarFields.inc (97%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_CreateVarobs.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_GetDefaultVarfields.inc (99%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_ModelObToOb.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_ReadVarobsControlNL.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarArray.inc (98%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsColDepC.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsFixhd.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsIntC.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc (98%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsLookup.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_SetupVarobsRealC.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_VarobPGEs.inc (100%) rename deps/ops/{code => stubs}/OpsMod_Varobs/Ops_WriteVarobs.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/GenMod_CLookAdd.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/GenMod_Constants.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/GenMod_MiscUMScienceConstants.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/GenMod_UMHeaderConstants.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_ASRToClrGeoGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsAHIGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsASRGeoGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsClrGeoGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsModelLevelGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsSEVIRIGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_IsSatRadGroup.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_ObsGroupNameToNum.inc (98%) rename deps/ops/{public => stubs}/Ops_Constants/OpsFn_ObsGroupNumToName.inc (96%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_Ancil.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_BufrDescriptors.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_CXIndexes.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_Constants.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_Kinds.F90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_ObsGroupInfo.f90 (97%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_ObsTypes.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_OrigCtrs.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_SatIds.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_Stash.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/OpsMod_Varfields.f90 (100%) rename deps/ops/{public => stubs}/Ops_Constants/Ops_SubTypeNameToNum.inc (100%) rename deps/ops/{public => stubs}/Ops_Constants/Ops_SubTypeNumToName.inc (100%) create mode 100644 etc/global/varobs/ScatwindChosen.nl create mode 100644 test/testinput/004_VarField_u_ScatwindChosen.nc4 create mode 100644 test/testinput/004_VarField_u_ScatwindChosen.yaml create mode 100644 test/testinput/005_VarField_v_ScatwindChosen.nc4 create mode 100644 test/testinput/005_VarField_v_ScatwindChosen.yaml create mode 100644 test/testinput/cx_globalnamelist_scatwind.nc4 create mode 100644 test/testinput/cxwriter_globalnamelist_scatwind.yaml diff --git a/deps/ops/CMakeLists.txt b/deps/ops/CMakeLists.txt index e61f51a1..1445b93b 100644 --- a/deps/ops/CMakeLists.txt +++ b/deps/ops/CMakeLists.txt @@ -28,8 +28,6 @@ set(OPS_SOURCE_FILES code/OpsMod_ModelColumnIO/OpsMod_ModelColumnIO.f90 code/OpsMod_ModelIO/OpsMod_ModelIO.f90 code/OpsMod_ModelObInfo/OpsMod_ModelObInfo.f90 - code/OpsMod_ODB/OpsMod_ODBKinds.f90 - code/OpsMod_ODB/OpsMod_ODBTypes.f90 code/OpsMod_ObTypeUtils/OpsMod_ObTypeUtils.f90 code/OpsMod_ObsInfo/OpsMod_MiscTypes.f90 code/OpsMod_ObsInfo/OpsMod_ObsInfo.f90 @@ -41,7 +39,6 @@ set(OPS_SOURCE_FILES code/OpsMod_UMImport/ops_portio2a.c code/OpsMod_UMImport/ops_portutils.c code/OpsMod_Utilities/OpsMod_Utilities.f90 - code/OpsMod_Varobs/OpsMod_Varobs.f90 code/OpsMod_VarobsLib/OpsMod_VarobsLib.f90 code/OpsProg_Utils/OpsMod_UtilsProgs.f90 public/GenMod_Control/GenMod_Control.F90 @@ -66,27 +63,30 @@ set(OPS_SOURCE_FILES public/OpsMod_Sort/OpsMod_Sort.f90 public/OpsMod_UMInterface/OpsMod_UMInterface.f90 public/OpsMod_VerticalInterp/OpsMod_VerticalInterp.f90 - public/Ops_Constants/GenMod_CLookAdd.f90 - public/Ops_Constants/GenMod_Constants.f90 - public/Ops_Constants/GenMod_MiscUMScienceConstants.f90 - public/Ops_Constants/GenMod_UMHeaderConstants.f90 - public/Ops_Constants/OpsMod_Ancil.f90 - public/Ops_Constants/OpsMod_CXIndexes.f90 - public/Ops_Constants/OpsMod_Constants.f90 - public/Ops_Constants/OpsMod_Kinds.F90 - public/Ops_Constants/OpsMod_ObsGroupInfo.f90 - public/Ops_Constants/OpsMod_ObsTypes.f90 - public/Ops_Constants/OpsMod_SatIds.f90 - public/Ops_Constants/OpsMod_Stash.f90 - public/Ops_Constants/OpsMod_Varfields.f90 + stubs/Ops_Constants/GenMod_CLookAdd.f90 + stubs/Ops_Constants/GenMod_Constants.f90 + stubs/Ops_Constants/GenMod_MiscUMScienceConstants.f90 + stubs/Ops_Constants/GenMod_UMHeaderConstants.f90 + stubs/Ops_Constants/OpsMod_Ancil.f90 + stubs/Ops_Constants/OpsMod_CXIndexes.f90 + stubs/Ops_Constants/OpsMod_Constants.f90 + stubs/Ops_Constants/OpsMod_Kinds.F90 + stubs/Ops_Constants/OpsMod_ObsGroupInfo.f90 + stubs/Ops_Constants/OpsMod_ObsTypes.f90 + stubs/Ops_Constants/OpsMod_SatIds.f90 + stubs/Ops_Constants/OpsMod_Stash.f90 + stubs/Ops_Constants/OpsMod_Varfields.f90 stubs/OpsMod_AODGeneral/OpsMod_AODGeneral.f90 stubs/OpsMod_GPSRO/OpsMod_GPSRO.f90 stubs/OpsMod_GPSRO/OpsMod_GPSROInfo.f90 stubs/OpsMod_GPSRO/OpsMod_GPSROInfo_BA.f90 stubs/OpsMod_GroundGPS/OpsMod_GroundGPS.f90 + stubs/OpsMod_ODB/OpsMod_ODBKinds.f90 + stubs/OpsMod_ODB/OpsMod_ODBTypes.f90 stubs/OpsMod_Radar/OpsMod_Radar.f90 stubs/OpsMod_RadarZ/OpsMod_RadarZ.f90 stubs/OpsMod_Sonde/OpsMod_SondeDrift.f90 + stubs/OpsMod_Varobs/OpsMod_Varobs.f90 stubs/Ops_SatRad_Info/OpsMod_SatRad_RTmodel.f90 stubs/Ops_SatRad_SetUp/OpsMod_SatRad_SetUp.f90 ) diff --git a/deps/ops/code/OpsMod_CXGenerate/OpsMod_CXGenerate.f90 b/deps/ops/stubs/OpsMod_CXGenerate/OpsMod_CXGenerate.f90 similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/OpsMod_CXGenerate.f90 rename to deps/ops/stubs/OpsMod_CXGenerate/OpsMod_CXGenerate.f90 diff --git a/deps/ops/code/OpsMod_CXGenerate/OpsMod_FieldDataShared.f90 b/deps/ops/stubs/OpsMod_CXGenerate/OpsMod_FieldDataShared.f90 similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/OpsMod_FieldDataShared.f90 rename to deps/ops/stubs/OpsMod_CXGenerate/OpsMod_FieldDataShared.f90 diff --git a/deps/ops/code/OpsMod_CXGenerate/OpsMod_FieldRead.f90 b/deps/ops/stubs/OpsMod_CXGenerate/OpsMod_FieldRead.f90 similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/OpsMod_FieldRead.f90 rename to deps/ops/stubs/OpsMod_CXGenerate/OpsMod_FieldRead.f90 diff --git a/deps/ops/code/OpsMod_CXGenerate/OpsMod_SharedMemory.f90 b/deps/ops/stubs/OpsMod_CXGenerate/OpsMod_SharedMemory.f90 similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/OpsMod_SharedMemory.f90 rename to deps/ops/stubs/OpsMod_CXGenerate/OpsMod_SharedMemory.f90 diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_BGEAndCxCreateFromNetCDF.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEAndCxCreateFromNetCDF.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_BGEAndCxCreateFromNetCDF.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEAndCxCreateFromNetCDF.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_BGEComplete.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEComplete.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_BGEComplete.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEComplete.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_BGEandCxCreate.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEandCxCreate.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_BGEandCxCreate.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_BGEandCxCreate.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXAddField.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXAddField.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXAddField.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXAddField.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXGenerate.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXGenerate.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXGenerate.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXGenerate.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXPerformInterp.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXPerformInterp.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXPerformInterp.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXPerformInterp.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXPreproLocations.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXPreproLocations.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXPreproLocations.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXPreproLocations.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXSetup.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetup.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXSetup.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetup.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXSetupArrays.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetupArrays.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXSetupArrays.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetupArrays.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXSetupArraysAncil.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetupArraysAncil.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXSetupArraysAncil.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSetupArraysAncil.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CXSlantPressure.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSlantPressure.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CXSlantPressure.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CXSlantPressure.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CalcTLapse.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CalcTLapse.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CalcTLapse.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CalcTLapse.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CreateCxUMHdr.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_CxComplete.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_CxComplete.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_CxComplete.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_CxComplete.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_DeriveField.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_DeriveField.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_DeriveField.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_DeriveField.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_FinalFieldDataShared.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_FinalFieldDataShared.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_FinalFieldDataShared.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_FinalFieldDataShared.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_GetDefaultBgerrFields.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetDefaultBgerrFields.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_GetDefaultBgerrFields.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_GetDefaultBgerrFields.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc similarity index 99% rename from deps/ops/code/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc index efc14786..a9177775 100644 --- a/deps/ops/code/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc +++ b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetDefaultCxFields.inc @@ -235,7 +235,7 @@ SELECT CASE (ObsGroup) CASE (ObsGroupSBUV) CxFields(1:7) = (/StashItem_ozone_old,StashItem_p,StashCode_t2, & StashCode_rh2,StashCode_t_p,StashCode_rh_p,StashCode_pmsl/) - CASE (ObsGroupScatwind) + CASE (ObsGroupScatwind, ObsGroupScatwindChosen) CxFields(1:12) = (/StashItem_u,StashItem_v,StashItem_theta, StashItem_SST, & StashItem_SeaIce,StashItem_orog,StashItem_p, & StashItem_p_Surface,StashCode_u10,StashCode_v10, & diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_GetReqDims.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetReqDims.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_GetReqDims.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_GetReqDims.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_GetUMFieldAvailable.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetUMFieldAvailable.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_GetUMFieldAvailable.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_GetUMFieldAvailable.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_GetUMFieldDims.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_GetUMFieldDims.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_GetUMFieldDims.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_GetUMFieldDims.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_InitFieldDataShared.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_InitFieldDataShared.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_InitFieldDataShared.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_InitFieldDataShared.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_LocateUMField.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_LocateUMField.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_LocateUMField.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_LocateUMField.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_ReadCXControlNL.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadCXControlNL.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_ReadCXControlNL.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadCXControlNL.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_ReadFieldsControlNL.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadFieldsControlNL.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_ReadFieldsControlNL.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadFieldsControlNL.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_ReadModelShared.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadModelShared.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_ReadModelShared.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadModelShared.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_ReadUMField.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadUMField.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_ReadUMField.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_ReadUMField.inc diff --git a/deps/ops/code/OpsMod_CXGenerate/Ops_UncompressDump.inc b/deps/ops/stubs/OpsMod_CXGenerate/Ops_UncompressDump.inc similarity index 100% rename from deps/ops/code/OpsMod_CXGenerate/Ops_UncompressDump.inc rename to deps/ops/stubs/OpsMod_CXGenerate/Ops_UncompressDump.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_ConvertToODBDate_real.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_ConvertToODBDate_real.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsFn_ConvertToODBDate_real.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_ConvertToODBDate_real.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_ConvertToODBTime_real.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_ConvertToODBTime_real.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsFn_ConvertToODBTime_real.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_ConvertToODBTime_real.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_IsTable.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_IsTable.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsFn_IsTable.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_IsTable.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_ODBExists.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_ODBExists.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsFn_ODBExists.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_ODBExists.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_ObsToReportType.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_ObsToReportType.inc similarity index 99% rename from deps/ops/code/OpsMod_ODB/OpsFn_ObsToReportType.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_ObsToReportType.inc index e86e02b0..469bf17f 100644 --- a/deps/ops/code/OpsMod_ODB/OpsFn_ObsToReportType.inc +++ b/deps/ops/stubs/OpsMod_ODB/OpsFn_ObsToReportType.inc @@ -931,7 +931,7 @@ SELECT CASE (Obs % Header % ObsGroup) END IF END DO END IF - CASE (ObsGroupScatwind) + CASE (ObsGroupScatwind, ObsGroupScatwindChosen) IF (Obs % Header % Satid % Present) THEN DO i = ob_start, ob_end IF (Obs % Satid(i) == SatId_MetopB) THEN @@ -963,7 +963,8 @@ SELECT CASE (Obs % Header % ObsGroup) ELSE found_report_type = .FALSE. DO j = 1, SIZE (map, DIM = 1) - IF (map(j,1) == ObsGroupScatwind .AND. map(j,2) == Obs % Satid(i)) THEN + IF ((map(j,1) == ObsGroupScatwind .AND. map(j,2) == Obs % Satid(i)) .OR. & + (map(j,1) == ObsGroupScatwindChosen .AND. map(j,2) == Obs % Satid(i))) THEN report_types(i - ob_start + 1) = map(j,3) found_report_type = .TRUE. EXIT diff --git a/deps/ops/code/OpsMod_ODB/OpsFn_RunidToNum.inc b/deps/ops/stubs/OpsMod_ODB/OpsFn_RunidToNum.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsFn_RunidToNum.inc rename to deps/ops/stubs/OpsMod_ODB/OpsFn_RunidToNum.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBFlags.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBFlags.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBFlags.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBFlags.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBInfo.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBInfo.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBInfo.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBInfo.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBKinds.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBKinds.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBKinds.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBKinds.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBOPSInterface.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBOPSInterface.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBOPSInterface.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBOPSInterface.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBReportTypeMap.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBTableInfo.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBTableInfo.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBTableInfo.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBTableInfo.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBTypes.f90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBTypes.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBTypes.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBTypes.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsMod_ODBUtils.F90 b/deps/ops/stubs/OpsMod_ODB/OpsMod_ODBUtils.F90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsMod_ODBUtils.F90 rename to deps/ops/stubs/OpsMod_ODB/OpsMod_ODBUtils.F90 diff --git a/deps/ops/code/OpsMod_ODB/OpsODB_InitODBElemDesp.inc b/deps/ops/stubs/OpsMod_ODB/OpsODB_InitODBElemDesp.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsODB_InitODBElemDesp.inc rename to deps/ops/stubs/OpsMod_ODB/OpsODB_InitODBElemDesp.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsODB_InitODBElemDesp_Body.inc b/deps/ops/stubs/OpsMod_ODB/OpsODB_InitODBElemDesp_Body.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsODB_InitODBElemDesp_Body.inc rename to deps/ops/stubs/OpsMod_ODB/OpsODB_InitODBElemDesp_Body.inc diff --git a/deps/ops/code/OpsMod_ODB/OpsProg_CreateODB.f90 b/deps/ops/stubs/OpsMod_ODB/OpsProg_CreateODB.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsProg_CreateODB.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsProg_CreateODB.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsProg_MergeODB.f90 b/deps/ops/stubs/OpsMod_ODB/OpsProg_MergeODB.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsProg_MergeODB.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsProg_MergeODB.f90 diff --git a/deps/ops/code/OpsMod_ODB/OpsProg_SimulObs.f90 b/deps/ops/stubs/OpsMod_ODB/OpsProg_SimulObs.f90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/OpsProg_SimulObs.f90 rename to deps/ops/stubs/OpsMod_ODB/OpsProg_SimulObs.f90 diff --git a/deps/ops/code/OpsMod_ODB/Ops_AndODBBits_scalar_to_array.inc b/deps/ops/stubs/OpsMod_ODB/Ops_AndODBBits_scalar_to_array.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_AndODBBits_scalar_to_array.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_AndODBBits_scalar_to_array.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_CloseODB.inc b/deps/ops/stubs/OpsMod_ODB/Ops_CloseODB.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_CloseODB.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_CloseODB.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_LockODB.inc b/deps/ops/stubs/OpsMod_ODB/Ops_LockODB.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_LockODB.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_LockODB.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_OpenODB.inc b/deps/ops/stubs/OpsMod_ODB/Ops_OpenODB.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_OpenODB.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_OpenODB.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_OrODBBits_array.inc b/deps/ops/stubs/OpsMod_ODB/Ops_OrODBBits_array.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_OrODBBits_array.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_OrODBBits_array.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_OrODBBits_scalar_to_array.inc b/deps/ops/stubs/OpsMod_ODB/Ops_OrODBBits_scalar_to_array.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_OrODBBits_scalar_to_array.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_OrODBBits_scalar_to_array.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_ReadODBControlNL.inc b/deps/ops/stubs/OpsMod_ODB/Ops_ReadODBControlNL.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_ReadODBControlNL.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_ReadODBControlNL.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_ReadODBMergeNL.inc b/deps/ops/stubs/OpsMod_ODB/Ops_ReadODBMergeNL.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_ReadODBMergeNL.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_ReadODBMergeNL.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_ReadODBReportTypeMap.inc b/deps/ops/stubs/OpsMod_ODB/Ops_ReadODBReportTypeMap.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_ReadODBReportTypeMap.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_ReadODBReportTypeMap.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_RunODBQuery.inc b/deps/ops/stubs/OpsMod_ODB/Ops_RunODBQuery.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_RunODBQuery.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_RunODBQuery.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBBit_scalar.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBBit_scalar.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBBit_scalar.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBBit_scalar.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBBit_scalar_to_array.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBBit_scalar_to_array.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBBit_scalar_to_array.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBBit_scalar_to_array.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_char.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_char.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_char.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_char.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_integer.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_integer.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_integer.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_integer.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_real32.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_real32.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_real32.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_real32.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_real64.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_real64.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_array_real64.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_array_real64.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_char.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_integer.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_integer.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_integer.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_integer.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_s_to_a_real.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_char.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_char.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_char.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_char.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_integer.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_integer.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_integer.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_integer.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_real.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_real.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetODBVal_scalar_real.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetODBVal_scalar_real.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetupODBReportTypes.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetupODBReportTypes.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetupODBReportTypes.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetupODBReportTypes.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_SetupODBVertcoTypes.inc b/deps/ops/stubs/OpsMod_ODB/Ops_SetupODBVertcoTypes.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_SetupODBVertcoTypes.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_SetupODBVertcoTypes.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_UnlockODB.inc b/deps/ops/stubs/OpsMod_ODB/Ops_UnlockODB.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_UnlockODB.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_UnlockODB.inc diff --git a/deps/ops/code/OpsMod_ODB/Ops_WriteODBTable.inc b/deps/ops/stubs/OpsMod_ODB/Ops_WriteODBTable.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/Ops_WriteODBTable.inc rename to deps/ops/stubs/OpsMod_ODB/Ops_WriteODBTable.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_addpools.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_addpools.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_addpools.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_addpools.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_cancel.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_cancel.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_cancel.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_cancel.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_close.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_close.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_close.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_close.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_column_names.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_column_names.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_column_names.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_column_names.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_column_types.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_column_types.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_column_types.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_column_types.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_num_columns.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_num_columns.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_num_columns.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_num_columns.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_num_tables.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_num_tables.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_num_tables.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_num_tables.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_query_size.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_query_size.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_query_size.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_query_size.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_table_names.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_table_names.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_get_table_names.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_get_table_names.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getsize.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getsize.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getsize.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getsize.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getval.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getval.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getval.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getval.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getval_hardwired.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getval_hardwired.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_getval_hardwired.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_getval_hardwired.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_init.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_init.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_init.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_init.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_is_column_available.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_is_column_available.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_is_column_available.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_is_column_available.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_is_query_valid.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_is_query_valid.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_is_query_valid.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_is_query_valid.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_open.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_open.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_open.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_open.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_put.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_put.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_put.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_put.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_register_vector.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_register_vector.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_register_vector.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_register_vector.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_varindex_scalar.inc b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_varindex_scalar.inc similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_varindex_scalar.inc rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_varindex_scalar.inc diff --git a/deps/ops/code/OpsMod_ODB/wrappers/ops_odb_wrappers.F90 b/deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_wrappers.F90 similarity index 100% rename from deps/ops/code/OpsMod_ODB/wrappers/ops_odb_wrappers.F90 rename to deps/ops/stubs/OpsMod_ODB/wrappers/ops_odb_wrappers.F90 diff --git a/deps/ops/code/OpsMod_Varobs/OpsFn_VarFieldNumToName.inc b/deps/ops/stubs/OpsMod_Varobs/OpsFn_VarFieldNumToName.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/OpsFn_VarFieldNumToName.inc rename to deps/ops/stubs/OpsMod_Varobs/OpsFn_VarFieldNumToName.inc diff --git a/deps/ops/code/OpsMod_Varobs/OpsMod_Varobs.f90 b/deps/ops/stubs/OpsMod_Varobs/OpsMod_Varobs.f90 similarity index 100% rename from deps/ops/code/OpsMod_Varobs/OpsMod_Varobs.f90 rename to deps/ops/stubs/OpsMod_Varobs/OpsMod_Varobs.f90 diff --git a/deps/ops/code/OpsMod_Varobs/Ops_CheckVarFields.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_CheckVarFields.inc similarity index 97% rename from deps/ops/code/OpsMod_Varobs/Ops_CheckVarFields.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_CheckVarFields.inc index ac58e65b..16ba7f25 100644 --- a/deps/ops/code/OpsMod_Varobs/Ops_CheckVarFields.inc +++ b/deps/ops/stubs/OpsMod_Varobs/Ops_CheckVarFields.inc @@ -38,7 +38,8 @@ USE OpsMod_MiscTypes, ONLY: & USE OpsMod_ObsGroupInfo, ONLY: & ObsGroupSurface, & - ObsGroupScatwind + ObsGroupScatwind, & + ObsGroupScatwindChosen USE OpsMod_ObsInfo, ONLY: & OB_type @@ -113,14 +114,16 @@ DO Ivar = 1, ActualMaxVarfield END IF CASE (VarField_u) IF (Ob % header % ObsGroup == ObsGroupSurface .OR. & - Ob % header % ObsGroup == ObsGroupScatwind) THEN + Ob % header % ObsGroup == ObsGroupScatwind .OR. & + Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN ObHdrVrbl = Ob % header % u10 ELSE ObHdrVrbl = Ob % header % u END IF CASE (VarField_v) IF (Ob % header % ObsGroup == ObsGroupSurface .OR. & - Ob % header % ObsGroup == ObsGroupScatwind) THEN + Ob % header % ObsGroup == ObsGroupScatwind .OR. & + Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN ObHdrVrbl = Ob % header % v10 ELSE ObHdrVrbl = Ob % header % v diff --git a/deps/ops/code/OpsMod_Varobs/Ops_CreateVarobs.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_CreateVarobs.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_CreateVarobs.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_CreateVarobs.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_GetDefaultVarfields.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_GetDefaultVarfields.inc similarity index 99% rename from deps/ops/code/OpsMod_Varobs/Ops_GetDefaultVarfields.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_GetDefaultVarfields.inc index c13c9e5a..61eeacc7 100644 --- a/deps/ops/code/OpsMod_Varobs/Ops_GetDefaultVarfields.inc +++ b/deps/ops/stubs/OpsMod_Varobs/Ops_GetDefaultVarfields.inc @@ -240,6 +240,8 @@ SELECT CASE (ObsGroup) Varfields(1:1) = (/VarField_SBUVozone/) CASE (ObsGroupScatwind) Varfields(1:3) = (/Varfield_u10ambwind,varfield_v10ambwind,Varfield_pcorrect/) + CASE (ObsGroupScatwindChosen) + Varfields(1:2) = (/Varfield_u,varfield_v/) CASE (ObsGroupSEVIRIClr) Varfields(1:12) = (/Varfield_britemp,Varfield_satid,Varfield_satzenith, & Varfield_solzenith,Varfield_tskin,Varfield_tcozone, & diff --git a/deps/ops/code/OpsMod_Varobs/Ops_ModelObToOb.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_ModelObToOb.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_ModelObToOb.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_ModelObToOb.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_ReadVarobsControlNL.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_ReadVarobsControlNL.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_ReadVarobsControlNL.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_ReadVarobsControlNL.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarArray.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarArray.inc similarity index 98% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarArray.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarArray.inc index b3aa3f33..9eb05428 100644 --- a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarArray.inc +++ b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarArray.inc @@ -56,6 +56,7 @@ USE OpsMod_ObsGroupInfo, ONLY: & ObsGroupGPSRO, & ObsGroupSatwind, & ObsGroupScatwind, & + ObsGroupScatwindChosen, & ObsGroupSurface USE OpsMod_ObsInfo, ONLY: & @@ -253,7 +254,8 @@ DO Ivar = 1, NumValidVarFields END IF CASE (VarField_u) IF (Ob % header % ObsGroup == ObsGroupSurface .OR. & - Ob % header % ObsGroup == ObsGroupScatwind) THEN + Ob % header % ObsGroup == ObsGroupScatwind .OR. & + Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN ObHdrVrbl = Ob % header % u10 ObVrblSingle => Ob % u10(:) Pge_1D => Pge % u10 @@ -264,7 +266,8 @@ DO Ivar = 1, NumValidVarFields END IF CASE (VarField_v) IF (Ob % header % ObsGroup == ObsGroupSurface .OR. & - Ob % header % ObsGroup == ObsGroupScatwind) THEN + Ob % header % ObsGroup == ObsGroupScatwind .OR. & + Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN ObHdrVrbl = Ob % header % v10 ObVrblSingle => Ob % v10(:) Pge_1D => Pge % u10 diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsColDepC.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsColDepC.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsColDepC.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsColDepC.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsFixhd.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsFixhd.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsFixhd.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsFixhd.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsIntC.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsIntC.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsIntC.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsIntC.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc similarity index 98% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc index 0bc58784..06189652 100644 --- a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc +++ b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsLevDepC.inc @@ -29,6 +29,7 @@ USE GenMod_MiscUMScienceConstants, ONLY: & USE OpsMod_ObsGroupInfo, ONLY: & ObsGroupSurface, & ObsGroupScatwind, & + ObsGroupScatwindChosen, & ObsGroupSatwind, & ObsGroupAircraft, & ObsGroupSonde, & @@ -115,7 +116,7 @@ SELECT CASE (Observations % header % ObsGroup) ObsLevelType = 0.0 NumLevelLevs = 1 - CASE (ObsGroupScatwind) + CASE (ObsGroupScatwind, ObsGroupScatwindChosen) ObsLevelType = 0.0 NumLevelLevs = 1 diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsLookup.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsLookup.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsLookup.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsLookup.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsRealC.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsRealC.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_SetupVarobsRealC.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_SetupVarobsRealC.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_VarobPGEs.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_VarobPGEs.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_VarobPGEs.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_VarobPGEs.inc diff --git a/deps/ops/code/OpsMod_Varobs/Ops_WriteVarobs.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc similarity index 100% rename from deps/ops/code/OpsMod_Varobs/Ops_WriteVarobs.inc rename to deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc diff --git a/deps/ops/public/Ops_Constants/GenMod_CLookAdd.f90 b/deps/ops/stubs/Ops_Constants/GenMod_CLookAdd.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/GenMod_CLookAdd.f90 rename to deps/ops/stubs/Ops_Constants/GenMod_CLookAdd.f90 diff --git a/deps/ops/public/Ops_Constants/GenMod_Constants.f90 b/deps/ops/stubs/Ops_Constants/GenMod_Constants.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/GenMod_Constants.f90 rename to deps/ops/stubs/Ops_Constants/GenMod_Constants.f90 diff --git a/deps/ops/public/Ops_Constants/GenMod_MiscUMScienceConstants.f90 b/deps/ops/stubs/Ops_Constants/GenMod_MiscUMScienceConstants.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/GenMod_MiscUMScienceConstants.f90 rename to deps/ops/stubs/Ops_Constants/GenMod_MiscUMScienceConstants.f90 diff --git a/deps/ops/public/Ops_Constants/GenMod_UMHeaderConstants.f90 b/deps/ops/stubs/Ops_Constants/GenMod_UMHeaderConstants.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/GenMod_UMHeaderConstants.f90 rename to deps/ops/stubs/Ops_Constants/GenMod_UMHeaderConstants.f90 diff --git a/deps/ops/public/Ops_Constants/OpsFn_ASRToClrGeoGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_ASRToClrGeoGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_ASRToClrGeoGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_ASRToClrGeoGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsAHIGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsAHIGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsAHIGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsAHIGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsASRGeoGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsASRGeoGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsASRGeoGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsASRGeoGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsClrGeoGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsClrGeoGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsClrGeoGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsClrGeoGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsModelLevelGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsModelLevelGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsModelLevelGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsModelLevelGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsSEVIRIGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsSEVIRIGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsSEVIRIGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsSEVIRIGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_IsSatRadGroup.inc b/deps/ops/stubs/Ops_Constants/OpsFn_IsSatRadGroup.inc similarity index 100% rename from deps/ops/public/Ops_Constants/OpsFn_IsSatRadGroup.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_IsSatRadGroup.inc diff --git a/deps/ops/public/Ops_Constants/OpsFn_ObsGroupNameToNum.inc b/deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNameToNum.inc similarity index 98% rename from deps/ops/public/Ops_Constants/OpsFn_ObsGroupNameToNum.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNameToNum.inc index 2cc662bb..7f3e5704 100644 --- a/deps/ops/public/Ops_Constants/OpsFn_ObsGroupNameToNum.inc +++ b/deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNameToNum.inc @@ -110,6 +110,8 @@ SELECT CASE (ObsGroupName) OpsFn_ObsGroupNameToNum = ObsGroupSBUV CASE ("Scatwind") OpsFn_ObsGroupNameToNum = ObsGroupScatwind + CASE ("ScatwindChosen") + OpsFn_ObsGroupNameToNum = ObsGroupScatwindChosen CASE ("SeaIce") OpsFn_ObsGroupNameToNum = ObsGroupSeaIce CASE ("OceanColour") diff --git a/deps/ops/public/Ops_Constants/OpsFn_ObsGroupNumToName.inc b/deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNumToName.inc similarity index 96% rename from deps/ops/public/Ops_Constants/OpsFn_ObsGroupNumToName.inc rename to deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNumToName.inc index c9ba3b1e..adf2eb2a 100644 --- a/deps/ops/public/Ops_Constants/OpsFn_ObsGroupNumToName.inc +++ b/deps/ops/stubs/Ops_Constants/OpsFn_ObsGroupNumToName.inc @@ -12,7 +12,7 @@ IMPLICIT NONE INTEGER, INTENT(IN) :: ObsGroup ! Function result: -CHARACTER(len=12) :: OpsFn_ObsGroupNumToName +CHARACTER(len=16) :: OpsFn_ObsGroupNumToName SELECT CASE (ObsGroup) CASE (ObsGroupABIClr) @@ -107,6 +107,8 @@ SELECT CASE (ObsGroup) OpsFn_ObsGroupNumToName = "SBUV" CASE (ObsGroupScatwind) OpsFn_ObsGroupNumToName = "Scatwind" + CASE (ObsGroupScatwindChosen) + OpsFn_ObsGroupNumToName = "ScatwindChosen" CASE (ObsGroupSeaIce) OpsFn_ObsGroupNumToName = "SeaIce" CASE (ObsGroupOceanColour) diff --git a/deps/ops/public/Ops_Constants/OpsMod_Ancil.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_Ancil.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_Ancil.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_Ancil.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_BufrDescriptors.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_BufrDescriptors.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_BufrDescriptors.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_BufrDescriptors.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_CXIndexes.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_CXIndexes.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_CXIndexes.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_CXIndexes.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_Constants.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_Constants.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_Constants.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_Constants.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_Kinds.F90 b/deps/ops/stubs/Ops_Constants/OpsMod_Kinds.F90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_Kinds.F90 rename to deps/ops/stubs/Ops_Constants/OpsMod_Kinds.F90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_ObsGroupInfo.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_ObsGroupInfo.f90 similarity index 97% rename from deps/ops/public/Ops_Constants/OpsMod_ObsGroupInfo.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_ObsGroupInfo.f90 index bc308a6a..1282e76e 100644 --- a/deps/ops/public/Ops_Constants/OpsMod_ObsGroupInfo.f90 +++ b/deps/ops/stubs/Ops_Constants/OpsMod_ObsGroupInfo.f90 @@ -72,7 +72,8 @@ MODULE OpsMod_ObsGroupInfo INTEGER, PARAMETER :: ObsGroupOceanWinds = 61 ! => Satellite wind speeds INTEGER, PARAMETER :: ObsGroupGIIRSLW = 62 ! => GIIRS LW radiances INTEGER, PARAMETER :: ObsGroupGIIRSMW = 63 ! => GIIRS MW radiances -INTEGER, PARAMETER :: max_obs_group_num = 63 ! Number of observation groups +INTEGER, PARAMETER :: ObsGroupScatwindChosen = 64 ! => Scatterometer winds (single solution) +INTEGER, PARAMETER :: max_obs_group_num = 64 ! Number of observation groups CONTAINS diff --git a/deps/ops/public/Ops_Constants/OpsMod_ObsTypes.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_ObsTypes.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_ObsTypes.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_ObsTypes.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_OrigCtrs.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_OrigCtrs.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_OrigCtrs.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_OrigCtrs.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_SatIds.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_SatIds.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_SatIds.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_SatIds.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_Stash.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_Stash.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_Stash.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_Stash.f90 diff --git a/deps/ops/public/Ops_Constants/OpsMod_Varfields.f90 b/deps/ops/stubs/Ops_Constants/OpsMod_Varfields.f90 similarity index 100% rename from deps/ops/public/Ops_Constants/OpsMod_Varfields.f90 rename to deps/ops/stubs/Ops_Constants/OpsMod_Varfields.f90 diff --git a/deps/ops/public/Ops_Constants/Ops_SubTypeNameToNum.inc b/deps/ops/stubs/Ops_Constants/Ops_SubTypeNameToNum.inc similarity index 100% rename from deps/ops/public/Ops_Constants/Ops_SubTypeNameToNum.inc rename to deps/ops/stubs/Ops_Constants/Ops_SubTypeNameToNum.inc diff --git a/deps/ops/public/Ops_Constants/Ops_SubTypeNumToName.inc b/deps/ops/stubs/Ops_Constants/Ops_SubTypeNumToName.inc similarity index 100% rename from deps/ops/public/Ops_Constants/Ops_SubTypeNumToName.inc rename to deps/ops/stubs/Ops_Constants/Ops_SubTypeNumToName.inc diff --git a/deps/update_ops_sources.sh b/deps/update_ops_sources.sh index 2f6d1695..1a8e1499 100755 --- a/deps/update_ops_sources.sh +++ b/deps/update_ops_sources.sh @@ -28,7 +28,6 @@ cd "$SRC_DIR/src" cp --parents --recursive code/GenMod_ModelIO "$DEST_DIR" cp --parents --recursive code/OpsMod_AirQuality "$DEST_DIR" cp --parents --recursive code/OpsMod_Argument "$DEST_DIR" -cp --parents --recursive code/OpsMod_CXGenerate "$DEST_DIR" cp --parents --recursive code/OpsMod_CXInfo "$DEST_DIR" cp --parents --recursive code/OpsMod_Control "$DEST_DIR" cp --parents --recursive code/OpsMod_DateTime "$DEST_DIR" @@ -39,12 +38,10 @@ cp --parents --recursive code/OpsMod_ModelIO "$DEST_DIR" cp --parents --recursive code/OpsMod_ModelObInfo "$DEST_DIR" cp --parents --recursive code/OpsMod_ObTypeUtils "$DEST_DIR" cp --parents --recursive code/OpsMod_ObsInfo "$DEST_DIR" -cp --parents --recursive code/OpsMod_ODB "$DEST_DIR" cp --parents --recursive code/OpsMod_Process "$DEST_DIR" cp --parents --recursive code/OpsMod_QC "$DEST_DIR" cp --parents --recursive code/OpsMod_UMImport "$DEST_DIR" cp --parents --recursive code/OpsMod_Utilities "$DEST_DIR" -cp --parents --recursive code/OpsMod_Varobs "$DEST_DIR" cp --parents --recursive code/OpsMod_VarobsLib "$DEST_DIR" cp --parents --recursive public/GenMod_Control "$DEST_DIR" cp --parents --recursive public/GenMod_Core "$DEST_DIR" @@ -60,7 +57,6 @@ cp --parents --recursive public/OpsMod_Random "$DEST_DIR" cp --parents --recursive public/OpsMod_Sort "$DEST_DIR" cp --parents --recursive public/OpsMod_UMInterface "$DEST_DIR" cp --parents --recursive public/OpsMod_VerticalInterp "$DEST_DIR" -cp --parents --recursive public/Ops_Constants "$DEST_DIR" cp --parents code/OpsProg_Utils/OpsMod_PrintCX.f90 "$DEST_DIR" cp --parents code/OpsProg_Utils/OpsMod_PrintVarobs.f90 "$DEST_DIR" diff --git a/etc/global/varobs/ScatwindChosen.nl b/etc/global/varobs/ScatwindChosen.nl new file mode 100644 index 00000000..94f7a7c9 --- /dev/null +++ b/etc/global/varobs/ScatwindChosen.nl @@ -0,0 +1,3 @@ +&VarobsControlNL +Varfields=4,5 +/ diff --git a/src/opsinputs/CMakeLists.txt b/src/opsinputs/CMakeLists.txt index 7c3b28d2..88570491 100644 --- a/src/opsinputs/CMakeLists.txt +++ b/src/opsinputs/CMakeLists.txt @@ -50,7 +50,7 @@ set_source_files_properties(opsinputs_cxgenerate_mod.F90 PROPERTIES # In addition, we need to add the folder with these *.inc files to the # include path used when compiling that module. set_source_files_properties(opsinputs_cxgenerate_mod.F90 PROPERTIES - INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ops/code/OpsMod_CXGenerate) + INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ops/stubs/OpsMod_CXGenerate) ecbuild_add_library( TARGET opsinputs SOURCES ${opsinputs_src_files} diff --git a/src/opsinputs/opsinputs_cxwriter_mod.F90 b/src/opsinputs/opsinputs_cxwriter_mod.F90 index e9495ac9..79a1d9be 100644 --- a/src/opsinputs/opsinputs_cxwriter_mod.F90 +++ b/src/opsinputs/opsinputs_cxwriter_mod.F90 @@ -112,6 +112,7 @@ module opsinputs_cxwriter_mod ObsGroupSurface, & ObsGroupSatwind, & ObsGroupScatwind, & + ObsGroupScatwindChosen, & ObsGroupSonde use OpsMod_ObsInfo, only: & FinalRejectFlag, & diff --git a/src/opsinputs/opsinputs_varobswriter_mod.F90 b/src/opsinputs/opsinputs_varobswriter_mod.F90 index dad0c8b4..0784a2ff 100644 --- a/src/opsinputs/opsinputs_varobswriter_mod.F90 +++ b/src/opsinputs/opsinputs_varobswriter_mod.F90 @@ -104,6 +104,7 @@ module opsinputs_varobswriter_mod ObsGroupGPSRO, & ObsGroupSatwind, & ObsGroupScatwind, & + ObsGroupScatwindChosen, & ObsGroupSonde, & ObsGroupSurface, & ObsGroupSatTCWV @@ -828,6 +829,10 @@ subroutine opsinputs_varobswriter_populateobservations( & call opsinputs_fill_fillelementtypefromsimulatedvariable( & Ob % Header % u10, "u10", Ob % Header % NumObsLocal, Ob % u10, & ObsSpace, Flags, ObsErrors, "windEastwardAt10M", "ObsValue") + else if (Ob % Header % ObsGroup == ObsGroupScatwindChosen) then + call opsinputs_fill_fillelementtypefromsimulatedvariable( & + Ob % Header % u10, "u10", Ob % Header % NumObsLocal, Ob % u10, & + ObsSpace, Flags, ObsErrors, "windEastwardAt10M", "BiasCorrObsValue") else call opsinputs_fill_fillelementtype2dfromsimulatedvariable( & Ob % Header % u, "u", JediToOpsLayoutMapping, Ob % u, & @@ -839,6 +844,10 @@ subroutine opsinputs_varobswriter_populateobservations( & call opsinputs_fill_fillelementtypefromsimulatedvariable( & Ob % Header % v10, "v10", Ob % Header % NumObsLocal, Ob % v10, & ObsSpace, Flags, ObsErrors, "windNorthwardAt10M", "ObsValue") + else if (Ob % Header % ObsGroup == ObsGroupScatwindChosen) then + call opsinputs_fill_fillelementtypefromsimulatedvariable( & + Ob % Header % v10, "v10", Ob % Header % NumObsLocal, Ob % v10, & + ObsSpace, Flags, ObsErrors, "windNorthwardAt10M", "BiasCorrObsValue") else call opsinputs_fill_fillelementtype2dfromsimulatedvariable( & Ob % Header % v, "v", JediToOpsLayoutMapping, Ob % v, & diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 880e0020..9aa99f0f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -124,12 +124,18 @@ ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_Surface ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_Sonde YAML 004_VarField_u_Sonde.yaml DATA 004_VarField_u_Sonde.nc4) +ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_ScatwindChosen + YAML 004_VarField_u_ScatwindChosen.yaml + DATA 004_VarField_u_ScatwindChosen.nc4) ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_Surface YAML 005_VarField_v_Surface.yaml DATA 005_VarField_v_Surface.nc4) ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_Sonde YAML 005_VarField_v_Sonde.yaml DATA 005_VarField_v_Sonde.nc4) +ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_ScatwindChosen + YAML 005_VarField_v_ScatwindChosen.yaml + DATA 005_VarField_v_ScatwindChosen.nc4) ADD_WRITER_TEST(NAME varobswriter_007_VarField_tcwv YAML 007_VarField_tcwv.yaml DATA 007_VarField_tcwv.nc4) @@ -622,6 +628,9 @@ ADD_WRITER_TEST(NAME cxwriter_globalnamelist_surface YAML cxwriter_globalnamelist_surface.yaml NAMELIST ../../etc/global/cx/Surface.nl DATA cx_globalnamelist_surface.nc4 dummy.nc4) +ADD_WRITER_TEST(NAME cxwriter_globalnamelist_scatwind + YAML cxwriter_globalnamelist_scatwind.yaml + DATA cx_globalnamelist_scatwind.nc4 dummy.nc4) # Tests the ukv namelist files in the etc directory diff --git a/test/generate_unittest_netcdfs.py b/test/generate_unittest_netcdfs.py index 66f4a1fe..2997649b 100644 --- a/test/generate_unittest_netcdfs.py +++ b/test/generate_unittest_netcdfs.py @@ -645,8 +645,10 @@ def copy_var_to_var(Group, invarname, outvarname, filename): output_1d_simulated_var_to_netcdf('relativeHumidityAt2M', 'testinput/003_VarField_rh_Surface.nc4') output_simulated_var_profiles_to_netcdf('relativeHumidity', 'testinput/003_VarField_rh_Sonde.nc4') output_1d_simulated_var_to_netcdf('windEastwardAt10M', 'testinput/004_VarField_u_Surface.nc4') + output_1d_simulated_var_to_netcdf('windEastwardAt10M', 'testinput/004_VarField_u_ScatwindChosen.nc4', with_bias=True) output_simulated_var_profiles_to_netcdf('windEastward', 'testinput/004_VarField_u_Sonde.nc4') output_1d_simulated_var_to_netcdf('windNorthwardAt10M', 'testinput/005_VarField_v_Surface.nc4') + output_1d_simulated_var_to_netcdf('windNorthwardAt10M', 'testinput/005_VarField_v_ScatwindChosen.nc4', with_bias=True) output_simulated_var_profiles_to_netcdf('windNorthward', 'testinput/005_VarField_v_Sonde.nc4') output_1d_simulated_var_to_netcdf('precipitableWater', 'testinput/007_VarField_tcwv.nc4') output_2d_simulated_var_to_netcdf('brightnessTemperature', 'testinput/010_VarField_britemp.nc4', with_bias=True) @@ -1019,5 +1021,14 @@ def copy_var_to_var(Group, invarname, outvarname, filename): 'eastward_wind', 'northward_wind'], 'testinput/cx_globalnamelist_surface.nc4') + # Scatwind + output_full_cx_to_netcdf(['friction_velocity_over_water', 'ice_area_fraction', 'obukhov_length', 'relative_humidity_2m', 'skin_temperature', + 'surface_altitude', 'surface_pressure', 'surface_pressure_at_mean_sea_level', 'surface_temperature', + 'uwind_at_10m', 'vwind_at_10m'], + ['air_pressure_levels', 'cloud_volume_fraction_in_atmosphere_layer', 'ice_cloud_volume_fraction_in_atmosphere_layer', + 'liquid_cloud_volume_fraction_in_atmosphere_layer', 'mass_content_of_cloud_ice_in_atmosphere_layer', 'mass_content_of_cloud_liquid_water_in_atmosphere_layer', + 'specific_humidity', 'potential_temperature', 'eastward_wind', 'northward_wind'], + 'testinput/cx_globalnamelist_scatwind.nc4') + output_1d_multi_level_simulated_var_to_netcdf('relativeHumidity', 'testinput/relative_humidity_Sonde.nc4') output_2d_geoval_for_multi_level_obs_to_netcdf('relative_humidity', 'testinput/002_UpperAirCxFieldForMultiLevelObs_relative_humidity.nc4') diff --git a/test/testinput/004_VarField_u_ScatwindChosen.nc4 b/test/testinput/004_VarField_u_ScatwindChosen.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..1be98c5f6a44c1225c92869593fed2d5323ce252 GIT binary patch literal 14260 zcmeGjYiv_h_`7|rE1hh>U_655;T)j24UqZR*w(ddvKQ-uikQ)@Wi-qdZ#%$%N{A*5 z5n?okhaoW%Mo1(iPQWPPrGjP%8Y2>dApwye1_(-G)PUc4eC@a})+Szt@qX#O=bZ06 z?z!LV+;hIK9hDW{495tE$!-UN8xp#v3rxPOnDhK6r|K#z8cfbE(^!r(r^~AIlSSs~ zJdsYZiqv5Oh2^qGfdvz@0yMZbbw0t`nZW^07y=OR$AV3<&YYzm!Hw%Pq6iXEgO)9-D z5^m)!RQU`V!X!F?eX$yhM%&e(D@|ZBGg*38KEo%QakBCJ$GK-t@aboyDGE{uI5lWW zl$wVy!eouPUv_lCFgpx;6l85tlWq6&ta+Zxf1eH_j zDp;6Zx#|)F+44jsDNuGahPoXIR|SIMSZG10g_jNpdk2A{54V*!R#u=EpvVuzu7SKI z1!AOhAcLt z^CEkx#b?QJwRpY~-DVuN&@#}rN6X4VisP{5#oK>>pT1_cZX7!)ul zU{JuIfI$I+0!dL|dl|qky!IXhIDqLNctJUU1uuI!tU5dsy70PySI*}%J65lLvSYQq z_*i#!G3JZe{+Z77*q*&-neEYgmf4=XXPIqfk9Dt|@xkJkZ!B1_ZN`)-AI&({-CfMe zn>KDN!Fnl$;=seGxRsYnlx&isD%=x`dP=+WtJ zZEoYVNJMk64+S`Dp07l=+;<@4Z-ZwiIy;C?w!+`MtSLjTXVd3`<)v^*pprCbEaVQTnV*REw8wd3^ETs^pbpr5(TZA*%l`Sl-)I(6gr z2AYg+y4;Yv+|6TTtSm-`ZSpZj<`Kd8M2t+UI**ncjElJuOVfk++}H$P{H4{BVl{FcM`1R+4e(go`P(iE&TGA*{~V2c@Vi`TM0pqeg7@* zIyjBl5iqa$++P;#l{z?m_x^L3G2q^!0Ovm)m*A!nXE##X zJ7$dza6iDLh zM*NQ>g?%j#smIxq?Z4Y66}Y~nyszB@Ez9n>emND4-2FG#FSZ?FKm>Q2 H|C8h&V)Kq^ literal 0 HcmV?d00001 diff --git a/test/testinput/004_VarField_u_ScatwindChosen.yaml b/test/testinput/004_VarField_u_ScatwindChosen.yaml new file mode 100644 index 00000000..2406a8fc --- /dev/null +++ b/test/testinput/004_VarField_u_ScatwindChosen.yaml @@ -0,0 +1,44 @@ +window begin: 2018-01-01T00:00:00Z +window end: 2018-01-01T02:00:00Z + +observations: + - obs space: + name: ScatwindChosen + obsdatain: + engine: + type: H5File + obsfile: Data/004_VarField_u_ScatwindChosen.nc4 + simulated variables: [windEastwardAt10M] + obs filters: + # Double all observation errors: we want to check if error changes made by filters are + # propagated to VarObs files + - filter: BlackList + action: + name: inflate error + inflation factor: 2.0 + # Set the flag of observations with missing values to "pass": we want to check if these + # values are encoded correctly in the VarObsFile. + - filter: Reset Flags to Pass + flags_to_reset: [10, 15] # missing, Hfailed + # Reject observation 3: we want to check if it is omitted from the VarObs file, as expected. + - filter: Domain Check + where: + - variable: + name: MetaData/latitude + minvalue: 0.0 + - filter: VarObs Writer + reject_obs_with_any_variable_failing_qc: true + general_mode: debug + - filter: VarObs Checker + expected_main_table_columns: + # Only observations 1, 2 and 4 are passed; observation 3 is rejected by the domain check + field: ["4", "4", "4"] + ob value: ["1.20000", "-1073741824.00000", "1.30000"] + ob error: ["0.20000", "-1073741824.00000", "0.80000"] + lat: ["21.00000", "22.00000", "24.00000"] + lon: ["31.00000", "32.00000", "34.00000"] + time: ["-3540.00000", "-3480.00000", "-3360.00000"] + Callsign: ["station_1", "station_2", "station_4"] + HofX: ObsValue # just a placeholder -- not used, but needed to force calls to postFilter. + benchmarkFlag: 1000 # just to keep the ObsFilters test happy + flaggedBenchmark: 0 diff --git a/test/testinput/005_VarField_v_ScatwindChosen.nc4 b/test/testinput/005_VarField_v_ScatwindChosen.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..1212e50169030480531e872d152c46a14f9081c1 GIT binary patch literal 14260 zcmeGjYiv_h_`7|rluj5h7>rtzEkzV;giqMa<}E84a_=+YY9p5+Vi= zAtuH!FeFC82#JKm37AND`QS$hXpBGzgaiakj1Y8*Q6hfl@wMf`SesCW@t*YF@0{;E z?z!LVoO8dgYip`J*|rfjgVhR@Zpzd(RbYx_#oU*_JY8Q?HOFA@GK}FkV?SASagxY9 zUm#$qSwNcs6qd^!2_^(a1!!*nn{`#sxGkrPB9w$Z9xA3tQ_6j^%TYb@Bw9Oy*(I^m>kqjy(npD5m zaHxg1P~|gd2!rSV)}?A75@}Ndjx2#0IFP~f@)=&)jFXM$zZie^1fPC(mZBhqfK!8} zM9?^d5hiE!!?L3ThFM|Q+t}L7Sz)xX=k$kFllh=fB4A5iH0Je44Aa z((8r6h+^|*Z&fv8mb=b7qrR@m>#D4EgMA)jk`c_JLtW)8H*a4d+cz!_MjZI_IYNP` ztIFf>BfCS9U^wJxZi_lX;b@|2nNJP+np*>t9F*Anua|UQy`3Z^lLUJwiFFVThQdiQ zIgS-E5m5~P6{0)^hNq9t6eNM(rNnUuDX}s6F%}AWy0!vI!^%ogo*)Sq(j?N{MWJh1 z4~koY^NV=5(mkc=T@uXh-lKFhMRrO!Pa2(wVjWM*22tII7G=K zfG}W~pRhmYAwofD)D&|jxYf|d+~RtWCbv9W5A!9y+Eri6bx|4uo=1vFHHBRgLEO~h zNe8v~ICmxWX&hoIF~uS?+W!3|o>Wk3ag)?d+*F99tuK-I>>lb%C7z^0+g~oD+!U~; z+If+^)Z%mGxLQ14iS95CTWDF*wnxj#lNK-0@B&So5IWQ;pi@AnfKCCO0y+hB3g{Hj zDWFq8r+`iYodPLQU`HjuZoKv#0yv29PrSehV8YAlgjGkXp$o4|c;$Uvy>`u-XV6^3=@if@ zpi@AnfKCCO0=-axdvLfvLov~}d2@prnC;s1sOV~u{vGM&hAi~oID@{(M-xQ-g!jJd zhy0SXWulK)R6(TVm&iW{$h- z3Np-H(}Xb_JYKIG7Ct7Pq+9{WV`}(L*Y0+X+IeR3_)Kv7U>|dv+m?EEO~q{Am2T{n#gk8{>bu*_XjUXK^p9A^-kU)nv-JJ zuxcf(;ph8U3V2Kh1)B8A|63dEdE92noHQ&el~2o*EwFpKE_=KfF9&Gxc_O7JDABmh zZ-91iU{TZr<(7k=9uP}#?uoxnXT(-q>tiVy%qWqjt%x1nSW99Gqq)7Ct-AWUnr2m z?neBNBaL${52?r5lkLCXUn+PcYMSfUURcR7_-jZi~fNOk|1f9);i2$701qwo3b%STT{=8pysLyTYnU^V&91 JzUco1{0ofWkf8to literal 0 HcmV?d00001 diff --git a/test/testinput/005_VarField_v_ScatwindChosen.yaml b/test/testinput/005_VarField_v_ScatwindChosen.yaml new file mode 100644 index 00000000..a1b50881 --- /dev/null +++ b/test/testinput/005_VarField_v_ScatwindChosen.yaml @@ -0,0 +1,44 @@ +window begin: 2018-01-01T00:00:00Z +window end: 2018-01-01T02:00:00Z + +observations: + - obs space: + name: ScatwindChosen + obsdatain: + engine: + type: H5File + obsfile: Data/005_VarField_v_ScatwindChosen.nc4 + simulated variables: [windNorthwardAt10M] + obs filters: + # Double all observation errors: we want to check if error changes made by filters are + # propagated to VarObs files + - filter: BlackList + action: + name: inflate error + inflation factor: 2.0 + # Set the flag of observations with missing values to "pass": we want to check if these + # values are encoded correctly in the VarObsFile. + - filter: Reset Flags to Pass + flags_to_reset: [10, 15] # missing, Hfailed + # Reject observation 3: we want to check if it is omitted from the VarObs file, as expected. + - filter: Domain Check + where: + - variable: + name: MetaData/latitude + minvalue: 0.0 + - filter: VarObs Writer + reject_obs_with_any_variable_failing_qc: true + general_mode: debug + - filter: VarObs Checker + expected_main_table_columns: + # Only observations 1, 2 and 4 are passed; observation 3 is rejected by the domain check + field: ["5", "5", "5"] + ob value: ["1.20000", "-1073741824.00000", "1.30000"] + ob error: ["0.20000", "-1073741824.00000", "0.80000"] + lat: ["21.00000", "22.00000", "24.00000"] + lon: ["31.00000", "32.00000", "34.00000"] + time: ["-3540.00000", "-3480.00000", "-3360.00000"] + Callsign: ["station_1", "station_2", "station_4"] + HofX: ObsValue # just a placeholder -- not used, but needed to force calls to postFilter. + benchmarkFlag: 1000 # just to keep the ObsFilters test happy + flaggedBenchmark: 0 diff --git a/test/testinput/cx_globalnamelist_scatwind.nc4 b/test/testinput/cx_globalnamelist_scatwind.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..e30132a5699f08cdc37224f1069bac12405da211 GIT binary patch literal 17758 zcmeHO4RBP|6+WBYK!`ztA%eebAo5p`!1~*2^Sd#bF25VCIHk*)eJd-Q-E?;orA3=T zji^8)qt--gE!7mQWvEuFk*Ua7XR5)ft;kS2I{1S+nJKlkTE*IP?z`X1x+IuDlGSnV zz}|DtJMX;v&iU@S_uYGQQ%zO%*xZwIvvP6>-v7u5f*uen+YPLbby`B^ebeu-W)EB*W4>XWZi%^y43X5&YYGAGTFg4#Yo zERQdmtR+sGm_rkP%o^G1UF^B}{ER|cU#V`RmvlSuh74c}qKGn>Q>hU*J~yWm>;(Whn0Ce|~4gNK{r; zI|J;mNIVpcI4^HXI3v+S@1I;i`#$wJ=0^ROUPy`mKVxm)LG~-->?@gn%Agt_JNvQ!IOQKY2o0SoD&pp zE16{8ip~Z69HEDNPwueOI0g*Ew-+s*T5lbl#McB!(j%q2NLLY1NkJ`fDbf90WXZe= zcCKjmmcP@R*(2eLwlw=fT$1dIG2((0Up)ER#1BPWsC$LzOIbVRk;;+q(TX(tD4X9k z*+(kHrub;~jd8c-i!aKsgXk;yCo5N*$(_jo^c9cXF_^xBcqZ5AE0e|8EcqFDaW&o5 zO7z6?QcrbFZ3SU~6a#zbm}VT3g1Mv)h0lz+XmqvL>!xm}y3UD+m84;|u|)q80B(C_ zQ`SQjbv0EyIB-usjzxhPZ_hB*C#obM^yCQ*w=1ntqBYLc(l64h_2Q3uX7=;E=WKMg zWQx(J+f}Eaiz*j+l#3+SaDlsYR-u2GVk_mO$}y%uo+Z|~Ai+WoI|4f?sd7ESTXNXZ z^A1Z6JGdV;~O$TN!35TANjZxIqYb6TlUfZ@hSR{ zpO7Ml9hq-PNo|knt$oM~m3FT_?3|b)$8#|uOtr7Gm-SrOkzq?ps=n^=hso6>FG(ME zPE}S8w{u!Q^3zk~u%o(ql6}0FGesZrqJHF4`jJoVN3LcXd@a=vXY`{#tsnXHe&jRy zkavdZo49Ue*>x;CtK8*sm3OqyE8pE+RWAA+?d43@ zvE0k@B}@mHu4md`9t=Ln^#d&1!t}#Re|Psbrn^}FILjYndKc4AF};)NkD2~2(;u-7 zTZP#ks&KioD|UA~DuO`=(_@&9ux{2uo(+Q?mYyGR4zJ}#%SiYvBqrHXe7M8Uz zy^-mSOmAemP3gN_ZA@=s`6iZcV){0wZ)5s4rZ+Rand!|;->3EOW4e>&ohaKP#buX-R`_$I=IUH(%7@ryO$Bjhq9{3TWhy5ee zh@OcFB18{7q6hxkB55fw#Hdpd?B#p(!aekhicfjEdTGsKeht}=$94`gc-J>Ikg(}z zZ3UR11Nf}HJ$d?(3g3nJenL4@CY7w1P?rdum45cT_X`) zr{2&j(GMQLR{fA3YmxoXj<(vZPKmasbljSXI!`ra_slJ}(Yc&vr;=+@mxG?={5YN7X=^K>e=<3hMjyAi zfDW+DO8U)<*E{I}mKM<;?;1OeRR4rY}?Wm>O zJzd|W8~COj_8^r+I!J#@uy+3MG`sQ6>3m(!c#UiPM0%owom%wh(W zon{s@@)(45l#r%1S}fCMy!9AM8Wh;m*AT#w6CFo*Gi1Rsp z->(~X6`yF2^<~Hkrvr&%e7w=94+TT@zLiZ4p+G3H+6u7)*`u&AD$NY}!@h*k&}hW` z2@cKPxw-?6#OU9W=Fwlynh9_*lUE-WRys8uagz6=JCE4=UnLqdq`ecJo8cc%G( zvQw}$OMV7k?l^es<3!6|-}i^lj}@HqSG@7e-8Kh&H`egS6Ic0T0pC@jNZ{>x<|Awl z%v6q#L}Q7SmV)CPC}4y=H5dz-3wS(iMC&=7`J&C73spwM-|E;LnA?n(gzJwPerw_H z{rND73D5D-%bQlMj5hO76uBa?GXGpCU@@;5gPL|gsaS?m-N*Y=!a2a#7yym3K&zG5(Klf|(h++{B z&no2WY0eIE4mdeGsPn%-xc0`9d(P{$d@+RCp(M@Op-A3uklEo+&tCR>UUJlZSv!c9 z@1N&7;%ItE{uW^<=h6rf>U58$R{GN}frl{K-sCan4+n-8rx`<2j{-w04j%a5;TS@~ z2d0qR!6TQ0Z!OIV4~Iv~((KVGN8!;Yu6)Tp9KL8wvoFp#3STUHVBZJFjxJ0IfHsW( z;GbCiequO0z9P*YS3~_E$ApjP25ub=U$mv!7i#%rkiOXZ)Ezv>L-q$+2AkWy2z{7p z!anAe;BVac;k4n1NK2X{GEH7^kP+#cy>R?+_+nd{eWCtBYmmNp!P&-t$d+z&;)4cg z#itASo}P8h!x6E2(;TrGM}gkRC!a0rYi5lP)x3vnbmEZCtnvA1)mX*V;lVl;qJ?!T q@K`?ukM&USSk?rOB~0*Grvi_eHTW+(dhw-=_NIPXH?RHVt^Wfu;D})W literal 0 HcmV?d00001 diff --git a/test/testinput/cxwriter_globalnamelist_scatwind.yaml b/test/testinput/cxwriter_globalnamelist_scatwind.yaml new file mode 100644 index 00000000..f5a588db --- /dev/null +++ b/test/testinput/cxwriter_globalnamelist_scatwind.yaml @@ -0,0 +1,52 @@ +window begin: 2018-01-01T00:00:00Z +window end: 2018-01-01T01:00:00Z + +observations: + - obs space: + name: Scatwind + obsdatain: + engine: + type: H5File + obsfile: Data/dummy.nc4 + simulated variables: [dummy] + geovals: + filename: Data/cx_globalnamelist_scatwind.nc4 + obs filters: + # Set the flag of observations with missing values to "pass": we want to check if these + # values are encoded correctly in the Cx file. + - filter: Reset Flags to Pass + flags_to_reset: [10, 15] # missing, Hfailed + # Reject observation 3: we want to check if it is omitted from the Cx file, as expected. + - filter: Domain Check + where: + - variable: + name: MetaData/latitude + minvalue: 0.0 + - filter: Cx Writer + namelist_directory: ../etc/global/cx + reject_obs_with_any_variable_failing_qc: true + general_mode: debug + IC_PLevels: 5 + - filter: Cx Checker + expected_surface_variables: ["1","2","5","6","13","17","56","57"] + expected_upper_air_variables: ["1","3","4","11"] + expected_main_table_columns: + - # observation 3 is rejected by the tests above hence only 3 (1,2,4) columns + - ["57.10","67.10","97.10","107.10","47.10","17.10","27.10","7.10", + "71.10","71.20","71.30", + "81.10","81.20","81.30", + "91.10","91.20","91.30", + "1.10","1.20","1.30"] # column 1 - 1st observation + - ["**********","**********","**********","**********","**********","**********","**********","**********", + "72.10","**********","72.30", + "82.10","**********","82.30", + "92.10","**********","92.30", + "2.10","**********","2.30"] # column 2 - 2nd observation + - ["57.40","67.40","97.40","107.40","47.40","17.40","27.40","7.40", + "74.10","74.20","74.30", + "84.10","84.20","84.30", + "94.10","94.20","94.30", + "4.10","4.20","4.30"] # column 3 - 4th observation + HofX: ObsValue # just a placeholder -- not used, but needed to force calls to postFilter. + benchmarkFlag: 1000 # just to keep the ObsFilters test happy + flaggedBenchmark: 0