From 7c89b2b7c67612434a01bdc076da2f3c1beeb7d7 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Fri, 29 Sep 2023 10:22:06 -0400 Subject: [PATCH 1/5] GEOSldas branch for testing of GCM GC branch feature/rreichle/snow_check_after_apply_LDAS_incr --- components.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components.yaml b/components.yaml index 5ca4fecb..f26418a4 100644 --- a/components.yaml +++ b/components.yaml @@ -41,6 +41,5 @@ MAPL: GEOSgcm_GridComp: local: ./src/Components/GEOSldas_GridComp/@GEOSgcm_GridComp remote: ../GEOSgcm_GridComp.git - branch: develop + branch: feature/rreichle/snow_check_after_apply_LDAS_incr sparse: ./config/GEOSgcm_GridComp_ldas.sparse - develop: develop From d33ff1de478df84ecea4223a5e906ea421546d78 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Fri, 29 Sep 2023 18:50:15 -0400 Subject: [PATCH 2/5] turn off snow checks introduced in associated GCM GC branch (to maintain 0-diff of SMAP Tb DA test case) --- .../clsm_ensdrv_drv_routines.F90 | 7 +++++-- .../clsm_ensupd_enkf_update.F90 | 18 +++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensdrv_drv_routines.F90 b/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensdrv_drv_routines.F90 index 3c1436a6..a5d417a6 100644 --- a/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensdrv_drv_routines.F90 +++ b/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensdrv_drv_routines.F90 @@ -68,13 +68,15 @@ module clsm_ensdrv_drv_routines ! ******************************************************************** - subroutine check_cat_progn( N_cat, cat_param, cat_progn ) + subroutine check_cat_progn( check_snow, N_cat, cat_param, cat_progn ) ! wrapper for subroutine check_catch_progn() which has been ! moved to "catch_iau.F90" in GEOScatch_GridComp - reichle, 3 Apr 2012 implicit none + logical, intent(in) :: check_snow + integer, intent(in) :: N_cat type(cat_param_type), dimension(N_cat), intent(in) :: cat_param @@ -124,7 +126,8 @@ subroutine check_cat_progn( N_cat, cat_param, cat_progn ) cat_progn%qa1, cat_progn%qa2, cat_progn%qa4, & cat_progn%capac, cat_progn%catdef, & cat_progn%rzexc, cat_progn%srfexc, & - ghtcnt, wesn, htsn, sndz ) + ghtcnt, wesn, htsn, sndz, & + check_snow=check_snow) ! copy 2-d arrays back into cat_progn fields diff --git a/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensupd_enkf_update.F90 b/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensupd_enkf_update.F90 index 86d6449d..c6bcc18e 100644 --- a/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensupd_enkf_update.F90 +++ b/src/Components/GEOSldas_GridComp/GEOSlandassim_GridComp/clsm_ensupd_enkf_update.F90 @@ -1268,7 +1268,7 @@ subroutine apply_enkf_increments( N_catd, N_ens, update_type, & integer :: n, n_e - logical :: cat_progn_has_changed + logical :: cat_progn_has_changed, check_snow character(len=*), parameter :: Iam = 'apply_enkf_increments' character(len=400) :: err_msg @@ -1278,17 +1278,19 @@ subroutine apply_enkf_increments( N_catd, N_ens, update_type, & ! apply increments cat_progn_has_changed = .true. ! conservative initialization - + + check_snow = .true. ! conservative initialization + select_update_type: select case (update_type) - + case (1,2) select_update_type ! soil moisture update - + if (logit) write (logunit,*) & 'apply_enkf_increments(): applying soil moisture increments' - + do n=1,N_catd do n_e=1,N_ens - + cat_progn(n,n_e)%srfexc = & cat_progn(n,n_e)%srfexc + cat_progn_incr(n,n_e)%srfexc cat_progn(n,n_e)%rzexc = & @@ -1369,6 +1371,8 @@ subroutine apply_enkf_increments( N_catd, N_ens, update_type, & cat_progn_has_changed = .true. + check_snow = .false. ! turn off for now to maintain 0-diff w/ SMAP Tb DA test case + case default call ldas_abort(LDAS_GENERIC_ERROR, Iam, 'unknown update_type') @@ -1383,7 +1387,7 @@ subroutine apply_enkf_increments( N_catd, N_ens, update_type, & do n_e=1,N_ens - call check_cat_progn( N_catd, cat_param, cat_progn(:,n_e) ) + call check_cat_progn( check_snow, N_catd, cat_param, cat_progn(:,n_e) ) end do From 7b55020a94a8896e9ca868456eecee57cee3f669 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Sat, 30 Sep 2023 05:54:56 -0400 Subject: [PATCH 3/5] edit components.yaml --- components.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/components.yaml b/components.yaml index f26418a4..f53c05aa 100644 --- a/components.yaml +++ b/components.yaml @@ -43,3 +43,4 @@ GEOSgcm_GridComp: remote: ../GEOSgcm_GridComp.git branch: feature/rreichle/snow_check_after_apply_LDAS_incr sparse: ./config/GEOSgcm_GridComp_ldas.sparse + develop: develop From 0f4da4f64ec8482fe782b8e775d981bdb60f71f4 Mon Sep 17 00:00:00 2001 From: Rolf Reichle Date: Fri, 6 Oct 2023 16:43:27 -0400 Subject: [PATCH 4/5] added more export variable defs to tile_bin2nc4.F90 --- src/Applications/LDAS_App/tile_bin2nc4.F90 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Applications/LDAS_App/tile_bin2nc4.F90 b/src/Applications/LDAS_App/tile_bin2nc4.F90 index 3f2aef3b..d26a0160 100644 --- a/src/Applications/LDAS_App/tile_bin2nc4.F90 +++ b/src/Applications/LDAS_App/tile_bin2nc4.F90 @@ -275,6 +275,19 @@ FUNCTION getAttribute (SHORT_NAME, LNAME, UNT) result (str_atr) case ('WESNN1'); LONG_NAME = 'snow_mass_layer_1'; UNITS = 'kg m-2' case ('WESNN2'); LONG_NAME = 'snow_mass_layer_2'; UNITS = 'kg m-2' case ('WESNN3'); LONG_NAME = 'snow_mass_layer_3'; UNITS = 'kg m-2' + case ('HTSNNN1'); LONG_NAME = 'heat_content_snow_layer_1'; UNITS = 'J m-2' + case ('HTSNNN2'); LONG_NAME = 'heat_content_snow_layer_2'; UNITS = 'J m-2' + case ('HTSNNN3'); LONG_NAME = 'heat_content_snow_layer_3'; UNITS = 'J m-2' + case ('SNDZN1'); LONG_NAME = 'snow_depth_layer_1'; UNITS = 'm' + case ('SNDZN2'); LONG_NAME = 'snow_depth_layer_2'; UNITS = 'm' + case ('SNDZN3'); LONG_NAME = 'snow_depth_layer_3'; UNITS = 'm' + case ('FICE1'); LONG_NAME = 'snow_frozen_fraction_layer_1'; UNITS = '1' + case ('FICE2'); LONG_NAME = 'snow_frozen_fraction_layer_2'; UNITS = '1' + case ('FICE3'); LONG_NAME = 'snow_frozen_fraction_layer_3'; UNITS = '1' + case ('ALBVR'); LONG_NAME = 'surface_reflectivity_for_visible_beam'; UNITS = '1' + case ('ALBVF'); LONG_NAME = 'surface_reflectivity_for_visible_diffuse'; UNITS = '1' + case ('ALBNR'); LONG_NAME = 'surface_reflectivity_for_near_infared_beam'; UNITS = '1' + case ('ALBNF'); LONG_NAME = 'surface_reflectivity_for_near_infrared_diffuse'; UNITS = '1' case ('HLWUP'); LONG_NAME = 'surface_emitted_longwave_flux'; UNITS = 'W m-2' case ('GWETPROF'); LONG_NAME = 'ave_prof_soil_wetness'; UNITS = '1' case ('GWETROOT'); LONG_NAME = 'root_zone_soil_wetness'; UNITS = '1' From 11cf7d02325ff84f34da881baac82ec45327b3c4 Mon Sep 17 00:00:00 2001 From: Rolf Reichle <54944691+gmao-rreichle@users.noreply.github.com> Date: Wed, 18 Oct 2023 09:46:15 -0400 Subject: [PATCH 5/5] reverting GCM GC branch back to develop (components.yaml) --- components.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components.yaml b/components.yaml index f53c05aa..5ca4fecb 100644 --- a/components.yaml +++ b/components.yaml @@ -41,6 +41,6 @@ MAPL: GEOSgcm_GridComp: local: ./src/Components/GEOSldas_GridComp/@GEOSgcm_GridComp remote: ../GEOSgcm_GridComp.git - branch: feature/rreichle/snow_check_after_apply_LDAS_incr + branch: develop sparse: ./config/GEOSgcm_GridComp_ldas.sparse develop: develop