Changeset 4170 for LMDZ6/trunk/libf/dyn3d_common
- Timestamp:
- Jun 16, 2022, 8:16:59 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
r4169 r4170 14 14 !=== FOR TRACERS: 15 15 PUBLIC :: infotrac_init !--- Initialization of the tracers 16 PUBLIC :: tracers, type_trac 16 PUBLIC :: tracers, type_trac, types_trac !--- Full tracers database, tracers type keyword 17 17 PUBLIC :: nqtot, nbtr, nqo, nqCO2, nqtottr !--- Main dimensions 18 18 PUBLIC :: conv_flg, pbl_flg !--- Convection & boundary layer activation keys … … 108 108 nqtottr, & !--- Number of tracers passed to phytrac (TO BE DELETED ?) 109 109 nqCO2 !--- Number of tracers of CO2 (ThL) 110 CHARACTER(LEN=maxlen), SAVE :: type_trac !--- Keyword for tracers type 110 CHARACTER(LEN=maxlen), SAVE :: type_trac !--- Keyword for tracers type(s) 111 CHARACTER(LEN=maxlen), SAVE, ALLOCATABLE :: types_trac(:) !--- Keyword for tracers type(s), parsed version 111 112 112 113 !=== DERIVED TYPES EMBEDDING MOST INFORMATIONS ABOUT TRACERS AND ISOTOPES FAMILIES … … 175 176 CHARACTER(LEN=3) :: descrq(30) !--- Advection scheme description tags 176 177 CHARACTER(LEN=maxlen) :: msg1 !--- String for messages 177 CHARACTER(LEN=maxlen), ALLOCATABLE :: str(:) !--- Temporary storage178 178 INTEGER :: fType !--- Tracers description file type ; 0: none 179 179 !--- 1/2/3: "traceur.def"/"tracer.def"/"tracer_*.def" … … 201 201 202 202 CALL msg('type_trac = "'//TRIM(type_trac)//'"', modname) 203 IF(strParse(type_trac, '|', str, n=nt)) CALL abort_gcm(modname,'can''t parse "type_trac = '//TRIM(type_trac)//'"',1)203 IF(strParse(type_trac, '|', types_trac, n=nt)) CALL abort_gcm(modname,'can''t parse "type_trac = '//TRIM(type_trac)//'"',1) 204 204 205 205 !--------------------------------------------------------------------------------------------------------------------------- … … 207 207 !--------------------------------------------------------------------------------------------------------------------------- 208 208 !--- MESSAGE ABOUT THE CHOSEN CONFIGURATION 209 msg1 = 'For type_trac = "'//TRIM( str(it))//'":'210 SELECT CASE( str(it))209 msg1 = 'For type_trac = "'//TRIM(types_trac(it))//'":' 210 SELECT CASE(types_trac(it)) 211 211 CASE('inca'); CALL msg(TRIM(msg1)//' coupling with INCA chemistry model, config_inca='//config_inca, modname) 212 212 CASE('inco'); CALL msg(TRIM(msg1)//' coupling jointly with INCA and CO2 cycle', modname) … … 215 215 CASE('coag'); CALL msg(TRIM(msg1)//' tracers are treated for COAGULATION tests', modname) 216 216 CASE('lmdz'); CALL msg(TRIM(msg1)//' tracers are treated in LMDZ only', modname) 217 CASE DEFAULT; CALL abort_gcm(modname,'type_trac='//TRIM( str(it))//' not possible yet.',1)217 CASE DEFAULT; CALL abort_gcm(modname,'type_trac='//TRIM(types_trac(it))//' not possible yet.',1) 218 218 END SELECT 219 219 220 220 !--- COHERENCE TEST BETWEEN "type_trac" AND "config_inca" 221 IF(ANY(['inca', 'inco'] == str(it)) .AND. ALL(['aero', 'aeNP', 'chem'] /= config_inca)) &221 IF(ANY(['inca', 'inco'] == types_trac(it)) .AND. ALL(['aero', 'aeNP', 'chem'] /= config_inca)) & 222 222 CALL abort_gcm(modname, 'Incoherence between type_trac and config_inca. Please modify "run.def"',1) 223 223 224 224 !--- COHERENCE TEST BETWEEN "type_trac" AND PREPROCESSING KEYS 225 SELECT CASE( str(it))225 SELECT CASE(types_trac(it)) 226 226 CASE('inca', 'inco') 227 227 #ifndef INCA … … 244 244 !--- DISABLE "config_inca" OPTION FOR A RUN WITHOUT "INCA" IF IT DIFFERS FROM "none" 245 245 IF(fmsg('Setting config_inca="none" as you do not couple with INCA model', & 246 modname, ALL(str /= 'inca') .AND. ALL(str/= 'inco') .AND. config_inca /= 'none')) config_inca = 'none'247 248 nqCO2 = 0; IF(ANY( str== 'inco')) nqCO2 = 1246 modname, ALL(types_trac /= 'inca') .AND. ALL(types_trac /= 'inco') .AND. config_inca /= 'none')) config_inca = 'none' 247 248 nqCO2 = 0; IF(ANY(types_trac == 'inco')) nqCO2 = 1 249 249 250 250 !==============================================================================================================================
Note: See TracChangeset
for help on using the changeset viewer.