Changeset 4071
- Timestamp:
- Jan 31, 2022, 9:20:17 PM (2 years ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
r4068 r4071 78 78 ! | iadv | Advection scheme number | iadv | 1-20,30 exc. 3-9,15,19 | 79 79 ! | iGeneration | Generation (>=1) | / | | 80 ! | isAdvected | advected tracers flag (.TRUE. if iadv > 0)| / | nqtrue .TRUE. values |81 ! | is H2Ofamily | H2O tracer/isotope/tagging tracer| / | nqtottr .TRUE. values |80 ! | isAdvected | advected tracers flag (.TRUE. if iadv >= 0) | / | nqtrue .TRUE. values | 81 ! | isInPhysics | tracers not extracted from the main table in physics | / | nqtottr .TRUE. values | 82 82 ! | iqParent | Index of the parent tracer | iqpere | 1:nqtot | 83 83 ! | iqDescen | Indexes of the childs (all generations) | iqfils | 1:nqtot | … … 338 338 CALL msg('237: iq='//TRIM(int2str(iq)), modname) 339 339 READ(90,'(I2,X,I2,X,A)',IOSTAT=ierr) hadv(iq),vadv(iq),tchaine 340 WRITE(msg1,'(" iq, hadv(iq), vadv(iq) = ",i0,2(", ",i0))')iq, hadv(iq), vadv(iq)341 CALL msg( msg1, modname)340 WRITE(msg1,'("hadv(",i0,"), vadv(",i0,") = ",i0,", ",i0)')iq, iq, hadv(iq), vadv(iq) 341 CALL msg(TRIM(msg1), modname) 342 342 CALL msg('tchaine = "'//TRIM(tchaine)//'"', modname) 343 343 CALL msg('infotrac 238: IOstatus='//TRIM(int2str(ierr)), modname) … … 513 513 IF(iad == -1) CALL abort_gcm(modname, msg1, 1) 514 514 515 !--- SET FIELDS %longName, %iadv, %isAdvected, %is H2Ofamily515 !--- SET FIELDS %longName, %iadv, %isAdvected, %isInPhysics 516 516 t1%longName = t1%name; IF(iad > 0) t1%longName=TRIM(t1%name)//descrq(iad) 517 517 t1%iadv = iad 518 t1%isAdvected = iad > 0519 t1%is H2Ofamily= delPhase(t1%gen0Name) == 'H2O'518 t1%isAdvected = iad >= 0 519 t1%isInPhysics= delPhase(t1%gen0Name) /= 'H2O' !=== TO BE COMPLETED WITH OTHER EXCEPTIONS: CO2i, SURSATURATED CLOUDS... 520 520 ttr(iq) = t1 521 521 … … 621 621 CALL msg('Information stored in infotrac :') 622 622 IF(dispTable('isssssssssiiiiiiiii', & 623 ['iq ', 'name ', 'longN. ', 'gen0N. ', 'parent ', 'type ', 'phase ', 'compon. ', 'isAdv. ', 'is H2O. '&623 ['iq ', 'name ', 'longN. ', 'gen0N. ', 'parent ', 'type ', 'phase ', 'compon. ', 'isAdv. ', 'isPhy. '& 624 624 ,'iadv ', 'iGen. ', 'iqPar. ', 'nqDes. ', 'nqChil. ', 'iso_iG. ', 'iso_iN. ', 'iso_iZ. ', 'iso_iP. '], & 625 625 cat(t%name, t%longName, t%gen0Name, t%parent, t%type, t%phase, & 626 t%component, bool2str(t%isAdvected), bool2str(t%is H2Ofamily)), &626 t%component, bool2str(t%isAdvected), bool2str(t%isInPhysics)), & 627 627 cat([(iq, iq=1, nqtot)], t%iadv, t%iGeneration, t%iqParent, t%nqDescen, & 628 628 t%nqChilds, t%iso_iGroup, t%iso_iName, t%iso_iZone, t%iso_iPhase))) & -
LMDZ6/trunk/libf/misc/readTracFiles_mod.f90
r4067 r4071 182 182 IF(test(cumulTracers(dBase, tracs), lerr)) RETURN 183 183 END IF 184 WHERE(tracs%gen0Name(1:3) == 'H2O') tracs%isH2Ofamily=.TRUE. !--- Set %isH2Ofamily: belongs to H2O family184 WHERE(tracs%gen0Name(1:3) /= 'H2O') tracs%isInPhysics=.TRUE. !--- Set %isInPhysics: passed to physics 185 185 CALL setDirectKeys(tracs) !--- Set %iqParent, %iqDescen, %nqDescen, %nqChilds 186 186 END IF -
LMDZ6/trunk/libf/misc/trac_types_mod.F90
r4063 r4071 23 23 INTEGER :: iadv = 10 !--- Advection scheme used 24 24 INTEGER :: iGeneration = -1 !--- Generation number (>=0) 25 LOGICAL :: isAdvected = .FALSE. !--- "true" tracers: iadv > 0 . COUNT( isAdvected)=nqtrue26 LOGICAL :: is H2Ofamily = .FALSE. !--- H2O tracers/isotopes/tags. COUNT(.NOT.isH2Ofamily)=nqtottr25 LOGICAL :: isAdvected = .FALSE. !--- "true" tracers: iadv > 0. COUNT(isAdvected )=nqtrue 26 LOGICAL :: isInPhysics = .TRUE. !--- "true" tracers: in tr_seri. COUNT(isInPhysics)=nqtottr 27 27 INTEGER :: iqParent = 0 !--- Parent index 28 28 INTEGER, ALLOCATABLE :: iqDescen(:) !--- Descendants index (in growing generation order) -
LMDZ6/trunk/libf/phylmd/Dust/phys_output_write_spl_mod.F90
r4056 r4071 1612 1612 itr = 0 1613 1613 DO iq = 1, nqtot 1614 IF( tracers(iq)%isH2Ofamily) CYCLE1614 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 1615 1615 itr = itr+1 1616 1616 CALL histwrite_phy(o_trac(itr), tr_seri(:,:,itr)) -
LMDZ6/trunk/libf/phylmd/Dust/phytracr_spl_mod.F90
r4056 r4071 1262 1262 itr = 0 1263 1263 DO iq = 1, nqtot 1264 IF( tracers(iq)%isH2Ofamily) CYCLE1264 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 1265 1265 itr = itr+1 1266 1266 write(str2,'(i2.2)') itr … … 1419 1419 itr = 0 1420 1420 do iq=1,nqtot 1421 IF( tracers(iq)%isH2Ofamily) CYCLE1421 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 1422 1422 itr = itr+1 1423 1423 print *, itr, TRIM(tracers(iq)%name) -
LMDZ6/trunk/libf/phylmd/Dust/splaeropt_5wv_rrtm.F90
r4056 r4071 114 114 itr = 0 115 115 DO iq = 1, nqtot 116 IF( tracers(iq)%isH2Ofamily) CYCLE116 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 117 117 itr = itr+1 118 118 SELECT CASE(tracers(iq)%name) -
LMDZ6/trunk/libf/phylmd/Dust/splaeropt_6bands_rrtm.F90
r4056 r4071 167 167 itr = 0 168 168 DO iq = 1, nqtot 169 IF( tracers(iq)%isH2Ofamily) CYCLE169 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 170 170 itr = itr+1 171 171 SELECT CASE(tracers(iq)%name) -
LMDZ6/trunk/libf/phylmd/Dust/splaeropt_lw_rrtm.F90
r4056 r4071 57 57 itr = 0 58 58 DO iq = 1, nqtot 59 IF( tracers(iq)%isH2Ofamily) CYCLE59 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 60 60 itr = itr+1 61 61 SELECT CASE(tracers(iq)%name) -
LMDZ6/trunk/libf/phylmd/Dust/splaerosol_optic_rrtm.F90
r4056 r4071 52 52 itr = 0 53 53 DO iq = 1, nqtot 54 IF( tracers(iq)%isH2Ofamily) CYCLE54 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 55 55 itr = itr+1 56 56 IF(tracers(iq)%name/='FINE') THEN -
LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
r4056 r4071 130 130 nbtr_bin = COUNT([(tracers(iq)%name(1:3)=='BIN', iq=1, nqtot)]) 131 131 nbtr_sulgas = COUNT([(tracers(iq)%name(1:3)=='GAS', iq=1, nqtot)]) 132 tnames = PACK(tracers(:)%name, MASK= .NOT.tracers(:)%isH2Ofamily)132 tnames = PACK(tracers(:)%name, MASK=tracers(:)%isInPhysics) 133 133 id_BIN01_strat = strIdx(tnames, 'BIN01' ) 134 134 id_OCS_strat = strIdx(tnames, 'GASOSC' ) -
LMDZ6/trunk/libf/phylmd/phyetat0.F90
r4059 r4071 452 452 it = 0 453 453 DO iq = 1, nqtot 454 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE454 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 455 455 it = it+1 456 456 found=phyetat0_get(1,trs(:,it),"trs_"//TRIM(tracers(iq)%name), & -
LMDZ6/trunk/libf/phylmd/phyredem.F90
r4059 r4071 330 330 it = 0 331 331 DO iq = 1, nqtot 332 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE332 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 333 333 it = it+1 334 334 CALL put_field(pass,"trs_"//tracers(iq)%name, "", trs(:, it)) -
LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
r4056 r4071 470 470 itr = 0 471 471 DO iq = 1, nqtot 472 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE472 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 473 473 itr = itr + 1 474 474 dn = 'd'//TRIM(tracers(iq)%name)//'_' … … 526 526 527 527 ! DO iq=1,nqtot 528 ! IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE528 ! IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 529 529 ! WRITE(*,'(a,i1,a,10i3)')'trac(',iq,')%flag = ',o_trac(iq)%flag 530 530 ! WRITE(*,'(a,i1,a)')'trac(',iq,')%name = '//TRIM(o_trac(iq)%name) -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r4070 r4071 541 541 ! On boucle sur les traceurs pour les ajouter au groupe puis fixer les attributs 542 542 DO iq = 1, nqtot 543 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE543 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 544 544 dn = 'd'//TRIM(tracers(iq)%name)//'_' 545 545 WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, tracers(iq)%name … … 595 595 ! On boucle sur les traceurs pour les ajouter au groupe puis fixer les attributs 596 596 DO iq = 1, nqtot 597 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE597 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 598 598 599 599 unt = "kg m-2" … … 2470 2470 itr = 0 2471 2471 DO iq = 1, nqtot 2472 IF( tracers(iq)%isH2Ofamily) CYCLE2472 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2473 2473 itr = itr + 1 2474 2474 ! write(*,*) 'phys_output_write_mod 2337: itr=',itr … … 2503 2503 itr = 0 2504 2504 DO iq = 1, nqtot 2505 IF( tracers(iq)%isH2Ofamily) CYCLE2505 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2506 2506 itr = itr + 1 2507 2507 ! write(*,*) 'phys_output_write_mod 2370: itr=',itr … … 2531 2531 2532 2532 IF (type_trac == 'inco') THEN 2533 itr = 0 2533 2534 DO iq = 1, nqtot 2534 IF( tracers(iq)%isH2Ofamily .OR. .NOT.tracers(iq)%isAdvected) CYCLE2535 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2535 2536 itr = itr+1 2536 2537 IF(tracers(iq)%component /= 'co2i') CYCLE -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4069 r4071 2270 2270 itr = 0 2271 2271 DO iq = 1, nqtot 2272 IF( tracers(iq)%isH2Ofamily) CYCLE2272 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2273 2273 itr = itr+1 2274 2274 DO k = 1, klev … … 2290 2290 itr = 0 2291 2291 do iq = 1, nqtot 2292 IF( tracers(iq)%isH2Ofamily) CYCLE2292 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2293 2293 itr = itr+1 2294 2294 tr_ancien(:,:,itr)=tr_seri(:,:,itr) … … 5117 5117 itr = 0 5118 5118 DO iq = 1, nqtot 5119 IF( tracers(iq)%isH2Ofamily) CYCLE5119 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 5120 5120 itr = itr+1 5121 5121 DO k = 1, klev -
LMDZ6/trunk/libf/phylmd/traclmdz_mod.F90
r4056 r4071 175 175 it = 0 176 176 DO iq = 1, nqtot 177 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE177 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 178 178 it = it+1 179 179 SELECT CASE(strLower(tracers(iq)%name)) … … 262 262 it = 0 263 263 DO iq = 1, nqtot 264 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE264 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 265 265 it = it+1 266 266 ! Test if tracer is zero everywhere. -
LMDZ6/trunk/libf/phylmdiso/phyetat0.F90
r4056 r4071 471 471 it = 0 472 472 DO iq = 1, nqtot 473 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE473 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 474 474 it = it+1 475 475 found=phyetat0_get(1,trs(:,it),"trs_"//TRIM(tracers(iq)%name), & -
LMDZ6/trunk/libf/phylmdiso/phyredem.F90
r4056 r4071 350 350 it = 0 351 351 DO iq = 1, nqtot 352 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE352 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 353 353 it = it+1 354 354 CALL put_field(pass,"trs_"//tracers(iq)%name, "", trs(:, it)) -
LMDZ6/trunk/libf/phylmdiso/phys_output_mod.F90
r4056 r4071 504 504 itr = 0 505 505 DO iq = 1, nqtot 506 IF(.NOT. tracers(iq)%isAdvected .OR. tracers(iq)%isH2Ofamily) CYCLE506 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE 507 507 itr = itr + 1 508 508 dn = 'd'//TRIM(tracers(iq)%name)//'_' -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r4065 r4071 2474 2474 itr = 0 2475 2475 DO iq = 1, nqtot 2476 IF( tracers(iq)%isH2Ofamily) CYCLE2476 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2477 2477 itr = itr+1 2478 2478 !#ifdef ISOVERIF … … 2498 2498 itr = 0 2499 2499 do iq = 1, nqtot 2500 IF( tracers(iq)%isH2Ofamily) CYCLE2500 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 2501 2501 itr = itr+1 2502 2502 tr_ancien(:,:,itr)=tr_seri(:,:,itr) … … 6531 6531 itr = 0 6532 6532 DO iq = 1, nqtot 6533 IF( tracers(iq)%isH2Ofamily) CYCLE6533 IF(.NOT.tracers(iq)%isInPhysics) CYCLE 6534 6534 itr = itr+1 6535 6535 DO k = 1, klev
Note: See TracChangeset
for help on using the changeset viewer.