The PFT code structure
Relevant information
- In control/stash/um_stashcode_mod.F90,
- STASHCODE_FRAC_SURF_TYPE = 216
- stashcode_land_frac = 505 (this might be ratio of land
to sea)
- D1 pointer for stash 00,216 is JFRAC_TYP
- Array is FRAC_TYP(1:land_field,1:ntype)
Reconfiguration
- RECONFIGURE
- RCF_INITIALISE
-
- RCF_CONTROL
- RCF_ANCIL
- RCF_ANCIL_ATMOS
- ANCIL_SORT. Creates the list ANCILS2UPDATE, which
includes STASHCODE_FRAC_SURF_TYPE.
- INANCILA_RCF_INANCILA. Where the headers and lookup
tables for all the ancillaries are
read in. It checks the fractional surface tile IDs match
with namelist.
- REPLANCA_RCF_REPLANCA. Reads in the ancillary data.
- Contains the line `field = ancils2update(irec)%stashcode'
so we're interested when field == 216
- COMPRESS_TO_MASK. Puts 2D data onto the 1d land grid.
- RCF_WRITFLDS. Writes the ancillary fields to dump
- RCF_CREATE_DUMP
- RCF_RESET_DATA_SOURCE. This is where the source value
for all tile fields is changed to 8, where I've changed the
tile IDs in the ancillaries.
- RCF_COMPARE_TILES. Checks that the tiles in input dump
are the same as times in output dump - they're not if I
change the tile IDs in ancillary data
- RCF_PRE_INTERP_TRANSFORM
- RCF_POST_PROCESS_ATMOS
- RCF_LSH_LAND_ICE_CHK
- RCF_SNOW_AMOUNT_CHK
- RCF_FIELD_CALCS/RCF_FIELD_DEPENDENT_CALCS. We only get
here for tile fields if the fields are not found in ainital
file, such as when I've changed the tile IDs.
- RCF_CALC_TILES. This routine contains an IF statment
involving l_rcf_init_flexi, so it is does impact on the
calculation of tile data - but I don't know exactly how
- RCF_INIT_FIELD_ON_TILES. The last argument for
routine is FIELD_STASHCODE.
- RCF_INIT_TILE_T
- RCF_INIT_TILE_SNOW
- RCF_INIT_SNOWDEP
- RCF_INIT_SNOW_BK_DENS
- RCF_CALC_TILE_MAP. Checks that required tile types
are present in input dump
- If true, set tile_map with index where input and
ancillary match
- otherwise gives the warning 'Consider
l_rcf_init_flexi = T or set tile_map: '
- RCF_SET_DOMINANT_TILE (also called by RCF_ML_SNOWPACK)
- Only RCF_FIELD_DEPENDENT_CALCS
- RCF_SNOWSTORES
- RCF_ML_SNOWPACK. Calculations use the index in tile_map,
which I think is just 1 everywhere unless the variable is set
I want to find
- When the field is compress to land points, COMPRESS_TO_MASK?
Main run
- U_MODEL_4A
- ATM_STEP_4A
- ATMOS_PHYSICS1
- RAD_CTL
- SURF_COUPLE_RADIATION (JULES)
- ATMOS_PHYSICS2
- NI_BL_CTL
- BDY_LAYR
- SURF_COUPLE_EXPLICIT (JULES)
- UKCA_MAIN1
- UKCA_CHEMISTRY_CTL/UKCA_CHEMISTRY_CTL_BE
- UKCA_DDEPCTL
- UKCA_SURFDDR. This checks that surface tiles match a
`standard' configuration