Changeset 3991 for trunk/LMDZ.COMMON/libf/evolution/tracers.F90
- Timestamp:
- Dec 16, 2025, 4:39:24 PM (4 weeks ago)
- File:
-
- 1 edited
-
trunk/LMDZ.COMMON/libf/evolution/tracers.F90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/tracers.F90
r3989 r3991 1 1 MODULE tracers 2 !----------------------------------------------------------------------- 3 ! NAME 4 ! tracers 5 ! 6 ! DESCRIPTION 7 ! Tracer species management for tracking. 8 ! 9 ! AUTHORS & DATE 10 ! JB Clement, 12/2025 11 ! 12 ! NOTES 13 ! 14 !----------------------------------------------------------------------- 2 15 16 ! DECLARATION 17 ! ----------- 3 18 implicit none 4 19 5 ! Indices for tracers taken from the PCM 6 integer :: iPCM_qh2o 20 ! MODULE VARIABLES 21 ! ---------------- 22 integer :: iPCM_qh2o ! Index for H2O vapor tracer from PCM 23 real, dimension(:), allocatable :: mmol ! Molar masses of tracers [g/mol] 7 24 8 ! Molar masses of tracers9 real, dimension(:), allocatable :: mmol10 11 !=======================================================================12 25 contains 13 ! =======================================================================26 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14 27 15 28 !======================================================================= 16 29 SUBROUTINE ini_tracers_id(nqtot,noms) 30 !----------------------------------------------------------------------- 31 ! NAME 32 ! ini_tracers_id 33 ! 34 ! DESCRIPTION 35 ! Initialize tracer indices from PCM tracer names. 36 ! 37 ! AUTHORS & DATE 38 ! JB Clement, 12/2025 39 ! 40 ! NOTES 41 ! 42 !----------------------------------------------------------------------- 17 43 44 ! DECLARATION 45 ! ----------- 18 46 implicit none 19 47 20 ! A rguments21 ! ----------22 integer, intent(in) :: nqtot 23 character(*), dimension(nqtot), intent(in) :: noms 48 ! ARGUMENTS 49 ! --------- 50 integer, intent(in) :: nqtot ! Total number of tracers 51 character(*), dimension(nqtot), intent(in) :: noms ! Names of tracers 24 52 25 ! L ocal variables26 ! ----------------53 ! LOCAL VARIABLES 54 ! --------------- 27 55 integer :: i 28 56 29 ! C ode30 ! -----57 ! CODE 58 ! ---- 31 59 ! Allocation 32 60 call ini_tracers(nqtot) … … 51 79 !======================================================================= 52 80 SUBROUTINE ini_tracers(nqtot) 81 !----------------------------------------------------------------------- 82 ! NAME 83 ! ini_tracers 84 ! 85 ! DESCRIPTION 86 ! Allocate tracer molar mass array. 87 ! 88 ! AUTHORS & DATE 89 ! JB Clement, 12/2025 90 ! 91 ! NOTES 92 ! 93 !----------------------------------------------------------------------- 53 94 95 ! DECLARATION 96 ! ----------- 54 97 implicit none 55 98 56 ! A rguments57 ! ----------58 integer, intent(in) :: nqtot 99 ! ARGUMENTS 100 ! --------- 101 integer, intent(in) :: nqtot ! Total number of tracers 59 102 60 ! Local variables 61 !---------------- 62 63 ! Code 64 !----- 103 ! CODE 104 ! ---- 65 105 if (.not. allocated(mmol)) allocate(mmol(nqtot)) 66 106 … … 70 110 !======================================================================= 71 111 SUBROUTINE end_tracers() 112 !----------------------------------------------------------------------- 113 ! NAME 114 ! end_tracers 115 ! 116 ! DESCRIPTION 117 ! Deallocate tracer molar mass array. 118 ! 119 ! AUTHORS & DATE 120 ! JB Clement, 12/2025 121 ! 122 ! NOTES 123 ! 124 !----------------------------------------------------------------------- 72 125 126 ! DECLARATION 127 ! ----------- 73 128 implicit none 74 129 75 ! Arguments 76 !---------- 77 78 ! Local variables 79 !---------------- 80 81 ! Code 82 !----- 130 ! CODE 131 ! ---- 83 132 if (allocated(mmol)) deallocate(mmol) 84 133
Note: See TracChangeset
for help on using the changeset viewer.
