How to find the full name of a type
Let’s take coupling_isban.F90, beginning like that:
SUBROUTINE COUPLING_ISBA_n (DTCO, UG, U, USS, IM, DTGD, DTGR, TGRO, DST, SLT, &
You can further see in the declaration of arguments of the routine:
TYPE(ISBA_MODEL_t), INTENT(INOUT) :: IM TYPE(DATA_COVER_t), INTENT(INOUT) :: DTCO TYPE(SURF_ATM_GRID_t), INTENT(INOUT) :: UG TYPE(SURF_ATM_t), INTENT(INOUT) :: U TYPE(SURF_ATM_SSO_t), INTENT(INOUT) :: USS TYPE(DATA_TEB_GARDEN_t), INTENT(INOUT) :: DTGD TYPE(DATA_TEB_GREENROOF_t), INTENT(INOUT) :: DTGR TYPE(TEB_GREENROOF_OPTIONS_t), INTENT(INOUT) :: TGRO TYPE(DST_t), INTENT(INOUT) :: DST TYPE(SLT_t), INTENT(INOUT) :: SLT
What tells you the correspondence between the reduced name of the type (ex. IM) and its full name (ex. ISBA_MODEL_t).
Then, if you want to find a more precise description of the contents of each type, you can see upper in the routine:
USE MODD_SURFEX_n, ONLY : ISBA_MODEL_t ! USE MODD_DATA_COVER_n, ONLY : DATA_COVER_t USE MODD_SURF_ATM_GRID_n, ONLY : SURF_ATM_GRID_t USE MODD_SURF_ATM_n, ONLY : SURF_ATM_t USE MODD_SURF_ATM_SSO_n, ONLY : SURF_ATM_SSO_t USE MODD_DATA_TEB_GARDEN_n, ONLY : DATA_TEB_GARDEN_t USE MODD_DATA_TEB_GREENROOF_n, ONLY : DATA_TEB_GREENROOF_t USE MODD_TEB_GREENROOF_OPTION_n, ONLY : TEB_GREENROOF_OPTIONS_t USE MODD_DST_n, ONLY : DST_t USE MODD_SLT_n, ONLY : SLT_t
So you can then open, for example, modd_surfexn.F90, and see the definition of the type ISBA_MODEL_t:
TYPE ISBA_MODEL_t ! TYPE(AGRI_t) :: AG TYPE(CH_ISBA_t) :: CHI TYPE(DATA_ISBA_t) :: DTI TYPE(DIAG_EVAP_ISBA_t) :: DGEI TYPE(DIAG_ISBA_t) :: DGI TYPE(DIAG_MISC_ISBA_t) :: DGMI TYPE(GR_BIOG_t) :: GB TYPE(ISBA_CANOPY_t) :: ICP TYPE(ISBA_GRID_t) :: IG TYPE(ISBA_t) :: I TYPE(PACK_CH_ISBA_t) :: PKCI TYPE(PACK_DIAG_ISBA_t) :: PKDI TYPE(PACK_ISBA_t) :: PKI ! END TYPE ISBA_MODEL_t
Then, same way, upper in modd_surfexn.F90, for example:
USE MODD_PACK_ISBA, ONLY : PACK_ISBA_t
And finally, opening modd_pack_isba.F90:
TYPE PACK_ISBA_t ! INTEGER :: NSIZE_LSIMPLE INTEGER :: NSIZE_L0 INTEGER :: NSIZE_NSIMPLE (...) REAL, POINTER, DIMENSION(:) :: XP_FFLOOD ! Grdi-cell flood fraction (-) REAL, POINTER, DIMENSION(:) :: XP_PIFLOOD ! Floodplains potential infiltration (kg/m2/s) REAL, POINTER, DIMENSION(:) :: XP_CPS, XP_LVTT, XP_LSTT ! END TYPE PACK_ISBA_t
Normally, the reduced names of the types are always the same, in all routines where they appear as arguments.
These reduced names are all listed in modd_surfexn.F90.