Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
29f586b
add decomposition temperature limitation to transfer in
glemieux Jul 28, 2025
aa269da
Update fluxintolitterpool non-mimics section to use the patch-level …
glemieux Aug 1, 2025
d2184ee
Update the mimics portion of the fluxintolitterpools code to be withi…
glemieux Aug 1, 2025
8f3192c
whitespace clean up
glemieux Aug 1, 2025
f22552f
add transfer bc out subroutine
glemieux Aug 12, 2025
9832f64
remove now unused bc_out from flux into litter pool procedure
glemieux Aug 12, 2025
8fc0cb1
add time conversion argument for the bc out transfer
glemieux Aug 12, 2025
11a6977
remove area fraction from flux into litter pools now that subroutine …
glemieux Aug 21, 2025
0eed65c
Add 1D bcout transfer subroutine and generic
glemieux Aug 22, 2025
d1c5baa
correct 1d bc out transfer definition
glemieux Aug 22, 2025
64284bb
align arguments for transfer bcout generics
glemieux Aug 22, 2025
16152e1
move litter pointer assignment inside element loop
glemieux Aug 22, 2025
3353146
add litter fluxes bcs to the patch type along with the decomposition …
glemieux Aug 23, 2025
dd76c4c
correct unset value for nlevdecomp
glemieux Aug 23, 2025
7367fd0
make the scalar bcin transfer subroutine generic to integers
glemieux Aug 23, 2025
018dcdb
start adding an interface variable type inspired by the history inter…
glemieux Aug 26, 2025
943409c
add registry and initialization procedures to the interface variable …
glemieux Aug 27, 2025
3fc08b7
simplify the interface variable type for now
glemieux Aug 27, 2025
79bf5db
Add procedure call chain to define the registry variable keys
glemieux Aug 27, 2025
4f5908a
add procedures to call in the host side that will call the initializa…
glemieux Aug 27, 2025
fceba21
aligning argument names and comments to reflect registry key concept
glemieux Aug 28, 2025
1fda372
correct procedure pointer alias
glemieux Aug 29, 2025
2a6e6c9
correct regsiter procedure to set data as target
glemieux Aug 29, 2025
4796055
update interface variable type to remove old pointers
glemieux Aug 29, 2025
0c8af67
align registry procedures to use key instead of variable name
glemieux Aug 29, 2025
a75a767
update interface var type with key name
glemieux Aug 29, 2025
84eef2d
build error corrections for the registry
glemieux Aug 29, 2025
5cf3b01
Make 2d registration subroutine
glemieux Sep 2, 2025
9dee2e9
Revert "remove area fraction from flux into litter pools now that sub…
glemieux Sep 2, 2025
ad86a87
Revert "move litter pointer assignment inside element loop"
glemieux Sep 2, 2025
51f137b
Revert "whitespace clean up"
glemieux Sep 2, 2025
67e5155
Revert "Update the mimics portion of the fluxintolitterpools code to …
glemieux Sep 2, 2025
91d472e
Revert "Update fluxintolitterpool non-mimics section to use the patc…
glemieux Sep 2, 2025
dfc5624
Revert "remove now unused bc_out from flux into litter pool procedure"
glemieux Sep 2, 2025
669a816
create interface registry type to be used by both fates_interface_ty…
glemieux Sep 3, 2025
c04c59f
move the registry type-bound procedures from fatesinterfacemod
glemieux Sep 3, 2025
9c2d367
implement the interface registry type in the patch type
glemieux Sep 3, 2025
e154880
add a 1d variant of the register generic for the fates-side variables
glemieux Sep 3, 2025
4f78037
add explicit polymorphic pointers in the var type to handle different…
glemieux Sep 9, 2025
8a1873a
correct the definition of the generic registry procedure
glemieux Sep 9, 2025
adca88f
minor formatting update
glemieux Sep 9, 2025
50737d4
add function to get the registry key from the given index
glemieux Sep 9, 2025
f862536
start adding the interface update call for the hlm-fates interface du…
glemieux Sep 9, 2025
276c7ba
removed unused update subroutine
glemieux Sep 9, 2025
d950a6d
correct end function name
glemieux Sep 9, 2025
332d1a4
minor white space changes
glemieux Sep 9, 2025
bb677cd
simplify the call to update the data via the api pointers by passing …
glemieux Sep 9, 2025
e833851
fix getregistrykey output definition
glemieux Sep 9, 2025
b2bdbef
Add the api update procedure.
glemieux Sep 9, 2025
7feb582
Start sketch of update variable
glemieux Sep 9, 2025
264412e
add subgrid heirarchy index variables in the registry type
glemieux Sep 10, 2025
61fd96b
update the current patch registry column index via the site column_map
glemieux Sep 10, 2025
b7789cc
add variables to hold information about the ordering of the input dat…
glemieux Sep 10, 2025
6bc9f34
correct usage of unset integer constant
glemieux Sep 10, 2025
cc260f3
make update interface a type-bound procedure
glemieux Sep 10, 2025
54c276f
removing the rank dimension integer as we are going to hold that the …
glemieux Sep 10, 2025
df6397d
add subgrid parameter index values
glemieux Sep 11, 2025
e990d4c
update the api registration procedure to pass in the subgrid index fo…
glemieux Sep 11, 2025
f08972a
implement the updated api registry assignment of the column index
glemieux Sep 11, 2025
76f9bd7
whitespace
glemieux Sep 11, 2025
9958416
adding comments and whitespace adjustments
glemieux Sep 11, 2025
0d95ee2
update the registry initialization to reflect the change to the subgr…
glemieux Sep 11, 2025
1d5878f
add missing rank update
glemieux Sep 11, 2025
cff1e3b
add case select logic and pointers to index into the source data pointer
glemieux Sep 11, 2025
d89ae39
add type-safe selection constructs to the update interface variable p…
glemieux Sep 11, 2025
5d62969
move subgrid heirarchy values into fates interface types mod
glemieux Sep 12, 2025
1ead812
remove superseded transfer bc procedures
glemieux Sep 12, 2025
1746c0c
add intent in to all registry subroutines
glemieux Sep 12, 2025
bf6999f
remove defunct transferbcin/out procedures in patch type
glemieux Sep 12, 2025
0792e90
add data size to the var type
glemieux Sep 12, 2025
6bbce25
add dimension error diagnostics to the var type
glemieux Sep 12, 2025
1420ec3
convert variable size comparison error checking to a subroutine
glemieux Sep 12, 2025
9f098a5
add scalar interface register subroutine
glemieux Sep 12, 2025
6883050
add nlevsoil to patch-level bcin
glemieux Sep 12, 2025
203d584
add interface key names as parameter variables
glemieux Sep 12, 2025
6cbc783
move subgrid index types into fatesinterfacetypesmod
glemieux Sep 12, 2025
68ff7a8
move patch_api pointer update inside the do while
glemieux Sep 12, 2025
28f629e
todo comment updates
glemieux Sep 12, 2025
274c6fe
removed unused indexers
glemieux Sep 12, 2025
65d967b
Correct which api has the subgrid indice update.
glemieux Sep 12, 2025
64128ba
adding comments for next steps
glemieux Sep 12, 2025
c4956f2
add update frequency to the registry variable type and and counters t…
glemieux Sep 17, 2025
f33b34b
add filters to the registry api type to provide shorter loops during …
glemieux Sep 17, 2025
849b23d
update the definteinterface call to pass initialization update freque…
glemieux Sep 17, 2025
8d191e6
minor formatting changes
glemieux Sep 17, 2025
d7ca3f8
initialize local variable to avoid implicit save
glemieux Sep 17, 2025
b49b055
add registry procedure to update on the variables during initialization
glemieux Sep 17, 2025
cb192a8
minor move of use statment
glemieux Sep 18, 2025
7baefc5
add api registry pointer in the site type to point back to the interf…
glemieux Sep 18, 2025
2e6fdcf
make the fates interface registry a pointer so that we can point the …
glemieux Sep 18, 2025
44a5f8b
Rename the patch level type bound registry initialization subroutine
glemieux Sep 18, 2025
8732a90
Add patch level type bound procedure to initialize the interface vari…
glemieux Sep 18, 2025
15f9f8d
update the create and init patch subroutines to take in the api point…
glemieux Sep 18, 2025
01e37e2
Update all patch create calls with new site api pointer argument
glemieux Sep 18, 2025
887aa41
remove bc and registry at the patch level
glemieux Sep 24, 2025
3c58f1b
add bcs to site type and interface registry to site bound bcs
glemieux Sep 25, 2025
13a5fbc
remove subgrid index passing for eventual deprecation
glemieux Sep 26, 2025
994f6db
add subgrid index data to registry type
glemieux Sep 26, 2025
5ea0cea
add variable type array for both fates and hlm data on the registry
glemieux Sep 26, 2025
887fd17
remove the site-bound subgrid variables
glemieux Sep 28, 2025
7f72e46
change API to BC for naming consistency
glemieux Sep 28, 2025
94c90bf
make the site-level bcs allocatable
glemieux Sep 28, 2025
3edfb1f
add registry initialization procedure at interface level
glemieux Sep 28, 2025
9ef41f5
add procedure to record the hlm subgrid indices for the register
glemieux Sep 29, 2025
074c18f
change registry var update subroutine since both hlm and fates variab…
glemieux Sep 30, 2025
e555bbf
Add a function to get the column index for this registry
glemieux Sep 30, 2025
d69485f
Update registration call at the regsitry level to direct where a vari…
glemieux Sep 30, 2025
6947cb3
add number of patches to the interface type associated with the regis…
glemieux Sep 30, 2025
0bf3907
add procedure to initialize fates boundary conditions
glemieux Sep 30, 2025
d39428e
add missing procedure statement for registry initialization
glemieux Sep 30, 2025
f5d371a
remove extraneous bc type bound procedures due to simplification
glemieux Sep 30, 2025
f01b0ff
update the initialize boundary conditions routine in the interface type
glemieux Sep 30, 2025
db321de
simplify the site-level initialize boundary conditions call due to ch…
glemieux Sep 30, 2025
06bc501
simplify the registry initialization of the BC variables due to inclu…
glemieux Sep 30, 2025
5ec6143
Revert "Update all patch create calls with new site api pointer argum…
glemieux Sep 30, 2025
4d87d1b
Revert "initial handover from site-level bc_in to patch level bc_in f…
glemieux Sep 30, 2025
a0b3b6f
manually revert the addition of boundary conditions to the patch stru…
glemieux Oct 1, 2025
c61e7c0
simplify the update interface variables call per combining fates and …
glemieux Oct 1, 2025
dc5e671
simplify boundary condition initialization
glemieux Oct 1, 2025
3f12213
minor reordering
glemieux Oct 1, 2025
206076c
remove defunct bc_in level registry
glemieux Oct 2, 2025
242c3fe
update registry initiaization to setup registry for both hlm and fate…
glemieux Oct 2, 2025
4582e9e
add missing topounit index to the registry metadata
glemieux Oct 2, 2025
0d0c9eb
update getregistryindex argument to use var type to find index
glemieux Oct 2, 2025
3974f7a
All key array to the registry type
glemieux Oct 2, 2025
5bc9fff
Revert "update getregistryindex argument to use var type to find index"
glemieux Oct 2, 2025
7be18c0
update key/index get functions to use the registry array
glemieux Oct 2, 2025
3d2bb1b
minor typo fix
glemieux Oct 2, 2025
c342851
add update frequency array to the registry type
glemieux Oct 2, 2025
c2082b2
add update frequency to the initialization
glemieux Oct 2, 2025
955fd58
unset the allocatable registry variable arrays
glemieux Oct 2, 2025
88f24f6
comment updates for registry initialization
glemieux Oct 2, 2025
b356809
minor typo correctoin
glemieux Oct 2, 2025
2e95f80
reorganize the interfact registry initialization
glemieux Oct 2, 2025
c052e60
simplify the registry index filter name
glemieux Oct 2, 2025
d687acf
change index filter in the initialization
glemieux Oct 2, 2025
b08e17c
remove unset for character array
glemieux Oct 2, 2025
9956392
correct update call to reference itself as an input
glemieux Oct 2, 2025
1495e6c
add missing call statement
glemieux Oct 2, 2025
359643b
add procedure statement for initialize BCs to site type
glemieux Oct 2, 2025
e1f779d
add get column function procedure statement to the registry type
glemieux Oct 2, 2025
c30f8e7
add get site and get fates patch index functions to registry type
glemieux Oct 2, 2025
77d06ad
remove duplicate argument definition
glemieux Oct 2, 2025
4833da0
minor comment update
glemieux Oct 2, 2025
84eb686
move interface registry type filter unset after allocation
glemieux Oct 6, 2025
7c07694
move get index before registration call
glemieux Oct 6, 2025
bfd6772
add more registry get functions
glemieux Oct 6, 2025
8957dc2
define registry get functions
glemieux Oct 6, 2025
5d24643
update setsubgrid indices to have all optional arguments
glemieux Oct 6, 2025
77f557e
update arguments to include fates patches and sites
glemieux Oct 6, 2025
b67eb99
update interface registry initialization to set hlm patches indices a…
glemieux Oct 6, 2025
45da201
add fates site initialization procedure
glemieux Oct 6, 2025
e1dc1f7
minor comment update
glemieux Oct 7, 2025
ef5f9a3
add site allocation commented out for later implementation
glemieux Oct 7, 2025
08912fb
add unset integer use statement
glemieux Oct 7, 2025
51efdab
fix missing call statements
glemieux Oct 7, 2025
f5a65ac
rename initialize interface registry argument
glemieux Oct 7, 2025
706eafc
add fates site initialization to procedure statement
glemieux Oct 7, 2025
0d2af8d
comment update
glemieux Oct 7, 2025
5b5ddba
remove the site-bound bc intialize wrapper
glemieux Oct 7, 2025
7f4995f
avoid allocating a bc if it's already been allocated
glemieux Oct 7, 2025
527cb7b
add nlevdecomp_full to the boundary conditions
glemieux Oct 7, 2025
b776ff2
pass in the bc for the specific patch
glemieux Oct 7, 2025
ed9a3d6
uncomment fates site initialization
glemieux Oct 7, 2025
fdca096
minor comment correction
glemieux Oct 8, 2025
f35239f
add accumulate option to the registry and update procedure
glemieux Oct 8, 2025
e81763f
move interface registry parameters to its own module
glemieux Oct 8, 2025
205fdf0
add timestep to the update frequency option for the variables
glemieux Oct 8, 2025
3053cc5
register the boundary conditions assocaited with the litter carbon
glemieux Oct 8, 2025
50879bb
allow the interface variable update to be scaled
glemieux Oct 8, 2025
4e1a2cf
add interface update procedure specific to the litter fluxes
glemieux Oct 9, 2025
b799c81
add timestep update to the registry procedures
glemieux Oct 9, 2025
4a6ec9a
add litter flux carbon filter to the registry
glemieux Oct 10, 2025
8381426
move initialization of boundary conditions to be a site-bound procedure
glemieux Oct 11, 2025
b9346cc
add local variable to improve legibility and maintainability
glemieux Oct 11, 2025
5a5ac97
add local pointers to simplify further
glemieux Oct 11, 2025
1dd0e05
move fluxintolitterpools calculations inside the patch loop
glemieux Oct 15, 2025
9f2b306
remove the area fraction from the patch-level calculations
glemieux Oct 15, 2025
427554b
remove bcs from the argument as these are now site-level arrays
glemieux Oct 15, 2025
ce39670
add nitrogen and phosphorous interface definitions
glemieux Oct 15, 2025
2f2056b
set procedure calls to PascalCase
glemieux Oct 15, 2025
49dafc1
define and register more variables for the litter flux update
glemieux Oct 15, 2025
e9ee1b0
make interface registry key array private
glemieux Oct 15, 2025
03d6300
correct update call in litter flux subroutine
glemieux Oct 15, 2025
9cfc270
update fluxintolitterpool call
glemieux Oct 15, 2025
ac48521
simplify registry call arguments using pointer association
glemieux Oct 15, 2025
c1b4bee
add max rooting depth to interface registry
glemieux Oct 15, 2025
96cf821
register max thaw and calculate max rooting depth based on max thaw
glemieux Oct 16, 2025
ef649eb
rename interface registry instance for clarity
glemieux Oct 16, 2025
2656b44
rename the interface registry type
glemieux Oct 16, 2025
eafa253
rename registry definition in the interface type
glemieux Oct 16, 2025
2a9680c
add private array to hold the registry index associated with a given …
glemieux Oct 16, 2025
766948c
update the site initialization to store the registry associated with …
glemieux Oct 16, 2025
2b90779
Update the boundary condition initialization to utilize the site leve…
glemieux Oct 16, 2025
48d3efa
minor typo
glemieux Oct 16, 2025
9fc41f9
typo
glemieux Oct 16, 2025
69aa305
Add totalling to the soil bg flux refactor
glemieux Oct 16, 2025
4b7f657
correct litter flux all variable to be a scalar
glemieux Oct 16, 2025
d3eb939
Add N and P litter update call
glemieux Oct 16, 2025
f323f0b
fix accumulate check
glemieux Oct 19, 2025
9384551
make registry update parameters public now that they have been moved …
glemieux Oct 19, 2025
12becd4
update get interface registry variable and index names to provide dis…
glemieux Oct 19, 2025
99ed49f
correct procedure type for site type setter and getter
glemieux Oct 19, 2025
e796502
fix typo for setter call
glemieux Oct 19, 2025
34b8539
move allocate registry index array into its own site loop
glemieux Oct 19, 2025
a5fd6bb
add cnp mode check for bc registration
glemieux Oct 19, 2025
78e9d11
correct missing line continuations
glemieux Oct 19, 2025
2f4b091
add missing local definitions in the updateinterfacevariables procedure
glemieux Oct 19, 2025
307bacb
add missing local definitions
glemieux Oct 19, 2025
b868166
add updatelitterfluxes to the interface type contains section
glemieux Oct 19, 2025
93164e9
use all fates interface parameters for the bc initialization
glemieux Oct 19, 2025
f767bed
correct local pointer dimension to be scalar
glemieux Oct 19, 2025
b0229cd
make surface_prof allocatable
glemieux Oct 19, 2025
13f2f5e
move MIMICS section inside patch loop
glemieux Oct 19, 2025
e9abc80
make the bc_in shorthand an associate statement instead of a pointer
glemieux Oct 19, 2025
4ab6260
add missing nan usage
glemieux Oct 19, 2025
e216207
move cnp flex mode use statement to the top of the module
glemieux Oct 19, 2025
0c387ea
add bc_in initialization type bound proc
glemieux Oct 19, 2025
213547e
add bc_out init type bound proc
glemieux Oct 19, 2025
1c7996a
correct num of litter fluxes name
glemieux Oct 19, 2025
c310531
change litter flux counter to be for all flux types, not just carbon
glemieux Oct 19, 2025
4edaf7e
add model timestep variable counter
glemieux Oct 19, 2025
a7978ba
add C and P variable definitions
glemieux Oct 19, 2025
4b536ca
add missing end if
glemieux Oct 19, 2025
bcd0693
add missing line continuations
glemieux Oct 19, 2025
ef7652e
add bc initialization calls
glemieux Oct 19, 2025
f44a5c6
correct thaw parameter name
glemieux Oct 19, 2025
247c706
remove site-type bound BC initi procedure
glemieux Oct 19, 2025
4073a9b
move nlevsoil registration earlier and allocate decomp_id using it
glemieux Oct 20, 2025
34fbaaf
move nlevsoil registration earlier - delete old location
glemieux Oct 20, 2025
b072210
remove decomp_id and calculate during initialization in the update pr…
glemieux Oct 20, 2025
02dbf0a
removing decomp_id and max rooting depth as registered interface vari…
glemieux Oct 20, 2025
6f363be
whitespace
glemieux Oct 20, 2025
cb6d458
add init update frequency to soil level, decomp variables
glemieux Oct 20, 2025
ab68024
remove decomp id and add decomp
glemieux Oct 20, 2025
157a64a
reorder definition calls
glemieux Oct 20, 2025
4df8e0a
add rank write statment to comparison procedure
glemieux Oct 21, 2025
82caed0
remove defunct bc init call
glemieux Oct 21, 2025
cab7300
add max thaw depth interface definition
glemieux Oct 21, 2025
8d29080
add interface variable dimension initialization procedure and support…
glemieux Oct 21, 2025
1ba8e34
correct initialization_local usage
glemieux Oct 22, 2025
233e528
set default value for update interface variable optional argument
glemieux Oct 24, 2025
687b46f
unset scalar bc variables during initialization
glemieux Oct 24, 2025
f976581
white space fix
glemieux Oct 24, 2025
0a87b57
add checkbounds to interface var type
glemieux Oct 24, 2025
7212739
call check bounds
glemieux Oct 24, 2025
da175fd
add check interface variables call for all registries after fates reg…
glemieux Oct 24, 2025
9f89ecf
add check interface variables type bound wrapper to interface type
glemieux Oct 24, 2025
127dec4
correct rank check
glemieux Oct 24, 2025
838cbab
fix write statements
glemieux Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions biogeochem/EDCanopyStructureMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1307,7 +1307,7 @@ end subroutine canopy_spread

! =====================================================================================

subroutine canopy_summarization( nsites, sites, bc_in )
subroutine canopy_summarization( nsites, sites )

! ----------------------------------------------------------------------------------
! Much of this routine was once ed_clm_link minus all the IO and history stuff
Expand All @@ -1323,7 +1323,6 @@ subroutine canopy_summarization( nsites, sites, bc_in )
! !ARGUMENTS
integer , intent(in) :: nsites
type(ed_site_type) , intent(inout), target :: sites(nsites)
type(bc_in_type) , intent(in) :: bc_in(nsites)
!
! !LOCAL VARIABLES:
type (fates_patch_type) , pointer :: currentPatch
Expand Down
2 changes: 1 addition & 1 deletion biogeochem/EDPhysiologyMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ subroutine PreDisturbanceLitterFluxes( currentSite, currentPatch, bc_in )
!------------------------------------------------------------------------------------

! Calculate the fragmentation rates
call fragmentation_scaler(currentPatch, bc_in)
call fragmentation_scaler(currentPatch, currentSite%bc_in(currentPatch%patchno))

do el = 1, num_elements

Expand Down
10 changes: 5 additions & 5 deletions biogeochem/FatesPatchMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ module FatesPatchMod
type (fates_cohort_type), pointer :: shortest => null() ! pointer to patch's shortest cohort
type (fates_patch_type), pointer :: older => null() ! pointer to next older patch
type (fates_patch_type), pointer :: younger => null() ! pointer to next younger patch

!---------------------------------------------------------------------------

! INDICES
Expand Down Expand Up @@ -507,7 +507,7 @@ subroutine NanValues(this)
this%scorch_ht(:) = nan
this%tfc_ros = nan
this%frac_burnt = nan

end subroutine NanValues

!===========================================================================
Expand Down Expand Up @@ -703,11 +703,11 @@ subroutine Create(this, age, area, land_use_label, nocomp_pft, num_swb, num_pft,
integer, intent(in) :: num_levsoil ! number of soil layers
integer, intent(in) :: current_tod ! time of day [seconds past 0Z]
integer, intent(in) :: regeneration_model ! regeneration model version

! initialize patch
! sets all values to nan, then some values to zero
call this%Init(num_swb, num_levsoil)

! initialize running means for patch
call this%InitRunningMeans(current_tod, regeneration_model, num_pft)

Expand Down Expand Up @@ -1286,6 +1286,6 @@ subroutine CheckVars(this, var_aliases, return_code)

end subroutine CheckVars

!===========================================================================
! ======================================================================================

end module FatesPatchMod
Loading