Changeset 4325 for LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90
- Timestamp:
- Nov 7, 2022, 3:09:43 AM (23 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90
r4149 r4325 16532 16532 USE isotrac_mod, ONLY: strtrac,initialisation_isotrac,index_iso, & 16533 16533 & index_zone,izone_init 16534 USE readTracFiles_mod, ONLY: newH2Oiso, oldH2Oiso 16535 USE strings_mod, ONLY: strIdx, strHead, strTail 16536 16534 16537 #endif 16535 16538 implicit none … … 16563 16566 CHARACTER*5 str5 16564 16567 real xmin,xmax 16565 CHARACTER*50 outiso 16568 CHARACTER*50 outiso, oldIso 16566 16569 integer lnblnk 16567 16570 LOGICAL :: found,phyetat0_get,phyetat0_srf … … 16585 16588 do ixt=1,ntraciso 16586 16589 16587 outiso=TRIM(isoName(ixt)) 16588 i = INDEX(outiso, '_', .TRUE.) 16589 outiso = outiso(1:i-1)//outiso(i+1:LEN_TRIM(outiso)) 16590 write(*,*) 'phyiso_etat0_fichier 16621: ixt,outiso=',ixt,TRIM(outiso) 16591 16590 outiso = isoName(ixt) 16591 k = strIdx(newH2Oiso, strHead(outiso, '_')) 16592 oldIso = outiso; IF(k /= 0) oldIso = oldH2Oiso(k) 16593 IF(INDEX(outiso, '_') /= 0) THEN 16594 outiso = TRIM(outiso)//TRIM(strTail(outiso, '_')) 16595 oldIso = TRIM(oldIso)//TRIM(strTail(outiso, '_')) 16596 END IF 16592 16597 16593 16598 ! on lit seulement si ixt<=niso ou si on initialise les traceurs d'après … … 16598 16603 16599 16604 found=phyetat0_srf(1,iso_tmp_lonsrf,"XTSNOW"//TRIM(outiso),"Surface snow",0.) 16600 if (.NOT.found ) CALL abort_physic('isotopes_routines_mod', &16601 16605 if (.NOT.found.AND.k/=0) found=phyetat0_srf(1,iso_tmp_lonsrf,"XTSNOW"//TRIM(oldIso),"Surface snow",0.) 16606 if (.NOT.found) CALL abort_physic('isotopes_routines_mod', 'phyiso_etat0_fichier 16581: variable isotopique not found',1) 16602 16607 xtsnow(ixt,:,:)=iso_tmp_lonsrf(:,:) 16603 16608 16604 16609 found=phyetat0_srf(1,iso_tmp_lonsrf,"XTEVAP"//TRIM(outiso),"evaporation",0.) 16610 if (.NOT.found.AND.k/=0) found=phyetat0_srf(1,iso_tmp_lonsrf,"XTEVAP"//TRIM(oldIso),"evaporation",0.) 16605 16611 fxtevap(ixt,:,:)=iso_tmp_lonsrf(:,:) 16606 16612 16607 16613 found=phyetat0_get(1,iso_tmp,"xtrain_f"//TRIM(outiso),"xrain fall",0.) 16614 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp,"xtrain_f"//TRIM(oldIso),"xrain fall",0.) 16608 16615 xtrain_fall(ixt,:)=iso_tmp(:) 16609 16616 16610 16617 found=phyetat0_get(1,iso_tmp,"xtsnow_f"//TRIM(outiso),"snow fall",0.) 16618 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp,"xtsnow_f"//TRIM(oldIso),"snow fall",0.) 16611 16619 xtsnow_fall(ixt,:)=iso_tmp(:) 16612 16620 16613 16621 found=phyetat0_get(klev,iso_tmp_lonlev,"XTANCIEN"//TRIM(outiso),"QANCIEN",0.) 16622 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp_lonlev,"XTANCIEN"//TRIM(oldIso),"QANCIEN",0.) 16614 16623 xt_ancien(ixt,:,:)=iso_tmp_lonlev(:,:) 16615 16624 16616 16625 found=phyetat0_get(klev,iso_tmp_lonlev,"XTLANCIEN"//TRIM(outiso),"QLANCIEN",0.) 16626 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp_lonlev,"XTLANCIEN"//TRIM(oldIso),"QLANCIEN",0.) 16617 16627 xtl_ancien(ixt,:,:)=iso_tmp_lonlev(:,:) 16618 16628 16619 16629 found=phyetat0_get(klev,iso_tmp_lonlev,"XTSANCIEN"//TRIM(outiso),"QSANCIEN",0.) 16630 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp_lonlev,"XTSANCIEN"//TRIM(oldIso),"QSANCIEN",0.) 16620 16631 xts_ancien(ixt,:,:)=iso_tmp_lonlev(:,:) 16621 16632 16622 16633 found=phyetat0_get(1,iso_tmp,"XTRUNOFFLIC0"//TRIM(outiso),"RUNOFFLIC0",0.) 16634 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp,"XTRUNOFFLIC0"//TRIM(oldIso),"RUNOFFLIC0",0.) 16623 16635 xtrun_off_lic_0(ixt,:)=iso_tmp(:) 16624 16636 16625 16637 found=phyetat0_get(klev,iso_tmp_lonlev,"WAKE_DELTAXT"//TRIM(outiso),"Delta hum. wake/env",0.) 16638 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp_lonlev,"WAKE_DELTAXT"//TRIM(oldIso),"Delta hum. wake/env",0.) 16626 16639 wake_deltaxt(ixt,:,:)=iso_tmp_lonlev(:,:) 16627 16640 … … 16666 16679 if (ixt.le.niso) then 16667 16680 found=phyetat0_get(1,iso_tmp,"XTSOL"//TRIM(outiso),"Surface hmidity / bucket",0.) 16681 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp,"XTSOL"//TRIM(oldIso),"Surface hmidity / bucket",0.) 16668 16682 xtsol(ixt,:)=iso_tmp(:) 16669 16683 16670 16684 found=phyetat0_get(1,iso_tmp,"Rland_ice"//TRIM(outiso),"R land ice",0.) 16685 if (.NOT.found.AND.k/=0) found=phyetat0_get(1,iso_tmp,"Rland_ice"//TRIM(oldIso),"R land ice",0.) 16671 16686 Rland_ice(ixt,:)=iso_tmp(:) 16672 16687
Note: See TracChangeset
for help on using the changeset viewer.