Ignore:
Timestamp:
May 14, 2022, 8:13:22 PM (2 years ago)
Author:
dcugnet
Message:
  • remove striso (use isoName instead)
  • few fixes for the lOldCode=.FALSE. code
  • add the « isotopes_params.def » file, used in the lOldCode=.FALSE. part of the isotopes_mod module.


File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90

    r4143 r4149  
    1652516525      !USE write_field_phy
    1652616526      USE indice_sol_mod, only: nbsrf 
    16527   USE isotopes_mod, ONLY: striso,iso_HDO,iso_eau
     16527  USE isotopes_mod, ONLY: isoName,iso_HDO,iso_eau
    1652816528#ifdef ISOVERIF
    1652916529  USE isotopes_verif_mod
     
    1656316563        CHARACTER*5 str5
    1656416564        real xmin,xmax   
    16565         CHARACTER*50 striso_sortie 
     16565        CHARACTER*50 outiso 
    1656616566        integer lnblnk
    1656716567        LOGICAL :: found,phyetat0_get,phyetat0_srf
     
    1658116581   write(*,*) 'phyiso_etat0_fichier 3'
    1658216582   write(*,*) 'niso=',niso
    16583    write(*,*) 'striso(1)=',striso(1)
     16583   write(*,*) 'isoName(1)='//TRIM(isoName(1))
    1658416584
    1658516585   do ixt=1,ntraciso
    1658616586
    16587      if (ixt.le.niso) then
    16588         striso_sortie=striso(ixt)
    16589      else
    16590 #ifdef ISOTRAC
    16591         iiso=index_iso(ixt)
    16592         izone=index_zone(ixt)       
    16593         striso_sortie=striso(iiso)//strtrac(izone)
    16594 #else
    16595         write(*,*) 'phyredem 546: ixt,ntraciso=', ixt,ntraciso
    16596         stop
    16597 #endif
    16598      endif !if (ixt.le.niso) then
    16599      write(*,*) 'phyiso_etat0_fichier 16621: ixt,striso_sortie=',ixt,striso_sortie(1:lnblnk(striso_sortie))
     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)
    1660016591
    1660116592           
     
    1660616597#endif
    1660716598
    16608       found=phyetat0_srf(1,iso_tmp_lonsrf,"XTSNOW"//striso_sortie(1:lnblnk(striso_sortie)), &
    16609      &     "Surface snow",0.)
    16610       if (.NOT.found) then
    16611         CALL abort_physic('isotopes_routines_mod', &
    16612                 'phyiso_etat0_fichier 16581: variable isotopique not found',1)
    16613       endif
     16599      found=phyetat0_srf(1,iso_tmp_lonsrf,"XTSNOW"//TRIM(outiso),"Surface snow",0.)
     16600      if (.NOT.found) CALL abort_physic('isotopes_routines_mod', &
     16601                            'phyiso_etat0_fichier 16581: variable isotopique not found',1)
    1661416602      xtsnow(ixt,:,:)=iso_tmp_lonsrf(:,:)
    1661516603     
    16616       found=phyetat0_srf(1,iso_tmp_lonsrf,"XTEVAP"//striso_sortie &
    16617      &   (1:lnblnk(striso_sortie)),"evaporation",0.)
     16604      found=phyetat0_srf(1,iso_tmp_lonsrf,"XTEVAP"//TRIM(outiso),"evaporation",0.)
    1661816605      fxtevap(ixt,:,:)=iso_tmp_lonsrf(:,:)
    1661916606
    16620       found=phyetat0_get(1,iso_tmp,"xtrain_f"//striso_sortie &
    16621      &   (1:lnblnk(striso_sortie)),"xrain fall",0.)
     16607      found=phyetat0_get(1,iso_tmp,"xtrain_f"//TRIM(outiso),"xrain fall",0.)
    1662216608      xtrain_fall(ixt,:)=iso_tmp(:)
    1662316609
    16624       found=phyetat0_get(1,iso_tmp,"xtsnow_f"//striso_sortie &
    16625      &   (1:lnblnk(striso_sortie)),"snow fall",0.)
     16610      found=phyetat0_get(1,iso_tmp,"xtsnow_f"//TRIM(outiso),"snow fall",0.)
    1662616611      xtsnow_fall(ixt,:)=iso_tmp(:)
    1662716612
    16628       found=phyetat0_get(klev,iso_tmp_lonlev,"XTANCIEN"//striso_sortie &
    16629      &       (1:lnblnk(striso_sortie)),"QANCIEN",0.)
     16613      found=phyetat0_get(klev,iso_tmp_lonlev,"XTANCIEN"//TRIM(outiso),"QANCIEN",0.)
    1663016614      xt_ancien(ixt,:,:)=iso_tmp_lonlev(:,:)
    1663116615
    16632       found=phyetat0_get(klev,iso_tmp_lonlev,"XTLANCIEN"//striso_sortie &
    16633      &       (1:lnblnk(striso_sortie)),"QLANCIEN",0.)
     16616      found=phyetat0_get(klev,iso_tmp_lonlev,"XTLANCIEN"//TRIM(outiso),"QLANCIEN",0.)
    1663416617      xtl_ancien(ixt,:,:)=iso_tmp_lonlev(:,:)
    1663516618
    16636       found=phyetat0_get(klev,iso_tmp_lonlev,"XTSANCIEN"//striso_sortie &
    16637      &       (1:lnblnk(striso_sortie)),"QSANCIEN",0.)
     16619      found=phyetat0_get(klev,iso_tmp_lonlev,"XTSANCIEN"//TRIM(outiso),"QSANCIEN",0.)
    1663816620      xts_ancien(ixt,:,:)=iso_tmp_lonlev(:,:)
    1663916621
    16640 
    16641       found=phyetat0_get(1,iso_tmp,"XTRUNOFFLIC0"//striso_sortie(1:lnblnk(striso_sortie)), &
    16642      &          "RUNOFFLIC0",0.) 
     16622      found=phyetat0_get(1,iso_tmp,"XTRUNOFFLIC0"//TRIM(outiso),"RUNOFFLIC0",0.) 
    1664316623      xtrun_off_lic_0(ixt,:)=iso_tmp(:)
    1664416624
    16645 
    16646       found=phyetat0_get(klev,iso_tmp_lonlev,"WAKE_DELTAXT"//striso_sortie &
    16647      &   (1:lnblnk(striso_sortie)),"Delta hum. wake/env",0.) 
     16625      found=phyetat0_get(klev,iso_tmp_lonlev,"WAKE_DELTAXT"//TRIM(outiso),"Delta hum. wake/env",0.) 
    1664816626      wake_deltaxt(ixt,:,:)=iso_tmp_lonlev(:,:)
    1664916627
     
    1668716665       ! ces variables n'ont pas de traceurs:
    1668816666       if (ixt.le.niso) then
    16689         found=phyetat0_get(1,iso_tmp,"XTSOL"//striso_sortie(1:lnblnk(striso_sortie)), &
    16690      &     "Surface hmidity / bucket",0.) 
     16667        found=phyetat0_get(1,iso_tmp,"XTSOL"//TRIM(outiso),"Surface hmidity / bucket",0.) 
    1669116668        xtsol(ixt,:)=iso_tmp(:)
    1669216669
    16693         found=phyetat0_get(1,iso_tmp,"Rland_ice"//striso_sortie &
    16694      &     (1:lnblnk(striso_sortie)),"R land ice",0.)
     16670        found=phyetat0_get(1,iso_tmp,"Rland_ice"//TRIM(outiso),"R land ice",0.)
    1669516671        Rland_ice(ixt,:)=iso_tmp(:)
    1669616672
Note: See TracChangeset for help on using the changeset viewer.