Skip to content

Commit e9a275d

Browse files
authored
Merge branch 'develop' into feature/acollow/#291-fwet
2 parents fbbbe44 + dbc1eab commit e9a275d

File tree

14 files changed

+63
-28
lines changed

14 files changed

+63
-28
lines changed

.github/workflows/spack-ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,8 @@ jobs:
9191
shell: spack-bash {0}
9292
run: |
9393
spack -e spack-env mirror add geos-buildcache oci://ghcr.io/GEOS-ESM/geos-buildcache
94-
spack -e spack-env mirror set --oci-username ${{ github.actor }} --oci-password "${{ secrets.BUILDCACHE_TOKEN }}" geos-buildcache
94+
spack -e spack-env mirror set --oci-username-variable "${{ secrets.BUILDCACHE_USERNAME }}" --oci-password-variable "${{ secrets.BUILDCACHE_TOKEN }}" geos-buildcache
9595
spack -e spack-env mirror list
96-
spack -e spack-env buildcache update-index geos-buildcache
9796
spack -e spack-env buildcache list --allarch
9897
9998
- name: Concretize
@@ -187,9 +186,8 @@ jobs:
187186
shell: spack-bash {0}
188187
run: |
189188
spack -e spack-env mirror add geos-buildcache oci://ghcr.io/GEOS-ESM/geos-buildcache
190-
spack -e spack-env mirror set --oci-username ${{ github.actor }} --oci-password "${{ secrets.BUILDCACHE_TOKEN }}" geos-buildcache
189+
spack -e spack-env mirror set --oci-username-variable "${{ secrets.BUILDCACHE_USERNAME }}" --oci-password-variable "${{ secrets.BUILDCACHE_TOKEN }}" geos-buildcache
191190
spack -e spack-env mirror list
192-
spack -e spack-env buildcache update-index geos-buildcache
193191
spack -e spack-env buildcache list --allarch
194192
195193
- name: Concretize

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
### Changed
1313

14+
- Check userRC in ESMF_GridCompRun in GOCART2G gridcomp
1415
- The pressure lid change associated with the introduction of run0 to set 0 above the lid
1516
- Fwet value in dust modified from 0.8 to 1.0
1617
- Dust and Sea salt Emission scale factors updated for L181
@@ -20,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2021
- Modified filepaths for the optics files to no longer link to a personal nobackup directory
2122
- Added logic to ensure the alarm accounts for skipping heartbeat in `NI` and `SU` components
2223
- fwet removed from children GridCompMod and placed in respective instance RC files
24+
- Updated settling routine and calls to allow settling velocity diagnostics in output field
2325

2426
### Fixed
2527

ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,7 @@ subroutine Run2 (GC, import, export, clock, RC)
988988

989989
integer :: n
990990
real, allocatable, dimension(:,:) :: drydepositionfrequency, dqa
991+
real, pointer, dimension(:,:,:) :: casd_vel
991992
real, dimension(3) :: rainout_eff
992993
logical :: KIN
993994
real, allocatable, dimension(:,:,:) :: pSOA_VOC
@@ -1096,13 +1097,15 @@ subroutine Run2 (GC, import, export, clock, RC)
10961097
end select
10971098

10981099
do n = 1, self%nbins
1099-
call MAPL_VarSpecGet(InternalSpec(n), SHORT_NAME=short_name, __RC__)
1100-
call MAPL_GetPointer(internal, NAME=short_name, ptr=int_ptr, __RC__)
1101-
nullify(flux_ptr)
1102-
flux_ptr => SD(:,:,n)
1103-
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, n, self%cdt, MAPL_GRAV, &
1100+
call MAPL_VarSpecGet(InternalSpec(n), SHORT_NAME=short_name, __RC__)
1101+
call MAPL_GetPointer(internal, NAME=short_name, ptr=int_ptr, __RC__)
1102+
nullify(flux_ptr)
1103+
flux_ptr => SD(:,:,n)
1104+
nullify(casd_vel)
1105+
if (associated(SD_V)) casd_vel => SD_V(:,:,:,n)
1106+
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, n, self%cdt, MAPL_GRAV, &
11041107
int_ptr, t, airdens, &
1105-
rh2, zle, delp, flux_ptr, settling_scheme=settling_opt, __RC__)
1108+
rh2, zle, delp, flux_ptr, casd_vel, settling_scheme=settling_opt, __RC__)
11061109
end do
11071110

11081111

ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ category: EXPORT
7676
#----------------------------------------------------------------------------------------
7777
*MASS | kg kg-1 | xyz | C | | * Aerosol Mass Mixing Ratio
7878
*CONC | kg m-3 | xyz | C | | * Aerosol Mass Concentration
79+
*SD_V | m s-1 | xyz | C | self%nbins | * Aerosol Settling Velocity (Bin %d)
7980
*EXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | * Aerosol Extinction Coefficient
8081
*EXTCOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | * Aerosol Extinction Coefficient - Fixed RH=20%
8182
*EXTCOEFRH80 | m-1 | xyz | C | size(self%wavelengths_profile) | * Aerosol Extinction Coefficient - Fixed RH=80%

ESMF/GOCART2G_GridComp/DU2G_GridComp/DU2G_GridCompMod.F90

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ subroutine SetServices (GC, RC)
175175
if (MAPL_AM_I_ROOT()) then
176176
write (*,*) trim(Iam)//": Dust emission scheme is "//trim(self%emission_scheme)
177177
end if
178-
179178
! Point Sources
180179
call ESMF_ConfigGetAttribute (cfg, self%point_emissions_srcfilen, &
181180
label='point_emissions_srcfilen:', default='/dev/null', __RC__)
@@ -978,6 +977,7 @@ subroutine Run2 (GC, import, export, clock, RC)
978977

979978
integer :: n
980979
real, allocatable, dimension(:,:) :: drydepositionfrequency, dqa
980+
real, pointer, dimension(:,:,:) :: dusd_vel
981981
logical :: KIN
982982

983983
integer :: i1, j1, i2, j2, km
@@ -1038,9 +1038,11 @@ subroutine Run2 (GC, import, export, clock, RC)
10381038
do n = 1, self%nbins
10391039
nullify(flux_ptr)
10401040
if (associated(DUSD)) flux_ptr => DUSD(:,:,n)
1041+
nullify(dusd_vel)
1042+
if (associated(DUSD_V)) dusd_vel => DUSD_V(:,:,:,n)
10411043
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, n, self%cdt, MAPL_GRAV, &
10421044
DU(:,:,:,n), t, airdens, &
1043-
rh2, zle, delp, flux_ptr, correctionMaring=self%maringFlag, &
1045+
rh2, zle, delp, flux_ptr, dusd_vel, correctionMaring=self%maringFlag, &
10441046
settling_scheme=settling_opt, __RC__)
10451047
end do
10461048

ESMF/GOCART2G_GridComp/DU2G_GridComp/DU2G_StateSpecs.rc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ category: EXPORT
6262
DUMASS | kg kg-1 | xyz | C | | Dust Mass Mixing Ratio
6363
DUMASS25 | kg kg-1 | xyz | C | | Dust Mass Mixing Ratio
6464
DUCONC | kg m-3 | xyz | C | | Dust Mass Concentration
65+
DUSD_V | m s-1 | xyz | C | self%nbins | Dust Settling Velocity (Bin %d)
6566
DUEXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Dust Extinction Coefficient
6667
DUEXTCOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | Dust Extinction Coefficient - Fixed RH=20%
6768
DUEXTCOEFRH80 | m-1 | xyz | C | size(self%wavelengths_profile) | Dust Extinction Coefficient - Fixed RH=80%

ESMF/GOCART2G_GridComp/GOCART2G_GridCompMod.F90

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ subroutine Run1 (GC, import, export, clock, RC)
511511
type(ESMF_Alarm) :: alarm
512512
logical :: timeToDoWork
513513

514-
integer :: i
514+
integer :: i, user_status
515515

516516
__Iam__('Run1')
517517

@@ -543,7 +543,9 @@ subroutine Run1 (GC, import, export, clock, RC)
543543
! Run the children
544544
! -----------------
545545
do i = 1, size(gcs)
546-
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=1, clock=clock, __RC__)
546+
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=1, clock=clock, userRC=user_status, rc=status)
547+
_VERIFY(status)
548+
_VERIFY(user_status)
547549
end do
548550

549551

@@ -653,7 +655,7 @@ subroutine Run2 (GC, import, export, clock, RC)
653655
real :: nifactor
654656
real, parameter :: pi = 3.141529265
655657
integer :: ind550, ind532
656-
integer :: i1, i2, j1, j2, km, k,kk
658+
integer :: i1, i2, j1, j2, km, k,kk, user_status
657659
type(ESMF_Alarm) :: alarm
658660
logical :: timeToDoWork
659661

@@ -684,7 +686,9 @@ subroutine Run2 (GC, import, export, clock, RC)
684686
do i = 1, size(gcs)
685687
call ESMF_GridCompGet (gcs(i), NAME=child_name, __RC__ )
686688
if ((index(child_name, 'data')) == 0) then ! only execute phase3 method if a computational instance
687-
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=3, clock=clock, __RC__)
689+
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=3, clock=clock, userRC=user_status, rc=status)
690+
_VERIFY(status)
691+
_VERIFY(user_status)
688692
end if
689693
end do
690694

@@ -734,7 +738,9 @@ subroutine Run2 (GC, import, export, clock, RC)
734738
do i = 1, size(gcs)
735739
call ESMF_GridCompGet (gcs(i), NAME=child_name, __RC__ )
736740
if ((index(child_name, 'data')) == 0) then ! only execute phase2 method if a computational instance
737-
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=2, clock=clock, __RC__)
741+
call ESMF_GridCompRun (gcs(i), importState=gim(i), exportState=gex(i), phase=2, clock=clock, userRC=user_status, rc=status)
742+
_VERIFY(status)
743+
_VERIFY(user_status)
738744
end if
739745
end do
740746

ESMF/GOCART2G_GridComp/NI2G_GridComp/NI2G_GridCompMod.F90

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,7 @@ subroutine Run2 (GC, import, export, clock, RC)
751751
type (NI2G_GridComp), pointer :: self
752752

753753
real, allocatable, dimension(:,:) :: drydepositionfrequency, dqa
754+
real, pointer, dimension(:,:,:) :: nisd_vel
754755
logical :: KIN
755756
real, allocatable, target, dimension(:,:,:) :: fluxoutWT
756757
real, allocatable, dimension(:,:,:,:) :: aerosol
@@ -857,26 +858,35 @@ subroutine Run2 (GC, import, export, clock, RC)
857858
end select
858859

859860
! Ammonium - settles like bin 1 of nitrate
861+
nullify(nisd_vel)
862+
if (associated(NH4SD_V)) nisd_vel => NH4SD_V
860863
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, 1, self%cdt, MAPL_GRAV, &
861-
NH4a, t, airdens, rh2, zle, delp, NH4SD, settling_scheme=settling_opt, __RC__)
864+
NH4a, t, airdens, rh2, zle, delp, NH4SD, nisd_vel, &
865+
settling_scheme=settling_opt, __RC__)
862866
! Nitrate Bin 1
863867
nullify(flux_ptr)
864868
if (associated(NISD)) flux_ptr => NISD(:,:,1)
869+
nullify(nisd_vel)
870+
if (associated(NISD_V)) nisd_vel => NISD_V(:,:,:,1)
865871
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, 1, self%cdt, MAPL_GRAV, &
866872
NO3an1, t, airdens, &
867-
rh2, zle, delp, flux_ptr, settling_scheme=settling_opt, __RC__)
873+
rh2, zle, delp, flux_ptr, nisd_vel, settling_scheme=settling_opt, __RC__)
868874
! Nitrate Bin 2
869875
nullify(flux_ptr)
870876
if (associated(NISD)) flux_ptr => NISD(:,:,2)
877+
nullify(nisd_vel)
878+
if (associated(NISD_V)) nisd_vel => NISD_V(:,:,:,2)
871879
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, 2, self%cdt, MAPL_GRAV, &
872880
NO3an2, t, airdens, &
873-
rh2, zle, delp, flux_ptr, settling_scheme=settling_opt, __RC__)
881+
rh2, zle, delp, flux_ptr, nisd_vel, settling_scheme=settling_opt, __RC__)
874882
! Nitrate Bin 3
875883
nullify(flux_ptr)
876884
if (associated(NISD)) flux_ptr => NISD(:,:,3)
885+
nullify(nisd_vel)
886+
if (associated(NISD_V)) nisd_vel => NISD_V(:,:,:,3)
877887
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, 3, self%cdt, MAPL_GRAV, &
878888
NO3an3, t, airdens, &
879-
rh2, zle, delp, flux_ptr, settling_scheme=settling_opt, __RC__)
889+
rh2, zle, delp, flux_ptr, nisd_vel, settling_scheme=settling_opt, __RC__)
880890

881891

882892

ESMF/GOCART2G_GridComp/NI2G_GridComp/NI2G_StateSpecs.rc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,15 @@ category: EXPORT
4848
#----------------------------------------------------------------------------------------
4949
NH3MASS | kg/kg | xyz | C | | Ammonia Mass Mixing Ratio
5050
NH4MASS | kg/kg | xyz | C | | Ammonium Aerosol Mass Mixing Ratio
51+
NH4SD_V | m s-1 | xyz | C | | Ammonium Settling Velocity
5152
NIMASS | kg/kg | xyz | C | | Nitrate Mass Mixing Ratio
5253
NIMASS25 | kg/kg | xyz | C | | Nitrate Mass Mixing Ratio of Particulate Matter < 2.5 microns (PM2.5)
5354
HNO3CONC | kg m-3 | xyz | C | | Nitric Acid Mass Concentration
5455
NH3CONC | kg m-3 | xyz | C | | Ammonia Mass Concentration
5556
NH4CONC | kg m-3 | xyz | C | | Ammonium Mass Concentration
5657
NICONC | kg m-3 | xyz | C | | Nitrate Mass Concentration
5758
NICONC25 | kg m-3 | xyz | C | | Nitrate Mass Concentration of Particulate Matter < 2.5 microns (PM2.5)
59+
NISD_V | m s-1 | xyz | C | 3 | Nitrate Settling Velocity (Bin %d)
5860
NIEXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Nitrate Extinction Coefficient
5961
NIEXTCOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | Nitrate Extinction Coefficient - fixed RH=20%
6062
NIEXTCOEFRH80 | m-1 | xyz | C | size(self%wavelengths_profile) | Nitrate Extinction Coefficient - fixed RH=80%

ESMF/GOCART2G_GridComp/SS2G_GridComp/SS2G_GridCompMod.F90

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,7 @@ subroutine Run2 (GC, import, export, clock, RC)
802802

803803
integer :: n
804804
real, allocatable, dimension(:,:) :: drydepositionfrequency, dqa
805+
real, pointer, dimension(:,:,:) :: sssd_vel
805806
logical :: KIN
806807

807808
integer :: i1, j1, i2, j2, km
@@ -859,9 +860,11 @@ subroutine Run2 (GC, import, export, clock, RC)
859860
do n = 1, self%nbins
860861
nullify(flux_ptr)
861862
if (associated(SSSD)) flux_ptr => SSSD(:,:,n)
863+
nullify(sssd_vel)
864+
if (associated(SSSD_V)) sssd_vel => SSSD_V(:,:,:,n)
862865
call Chem_SettlingSimple (self%km, self%klid, self%diag_Mie, n, self%cdt, MAPL_GRAV, &
863866
SS(:,:,:,n), t, airdens, &
864-
rh2, zle, delp, flux_ptr, settling_scheme=settling_opt, __RC__)
867+
rh2, zle, delp, flux_ptr, sssd_vel, settling_scheme=settling_opt, __RC__)
865868
end do
866869

867870
! Deposition

0 commit comments

Comments
 (0)