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.