Changeset 2713 for trunk/LMDZ.GENERIC


Ignore:
Timestamp:
Jun 21, 2022, 11:05:41 AM (3 years ago)
Author:
aslmd
Message:

automatic lecture for tracers initial profiles

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/dyn1d/rcm1d.F

    r2709 r2713  
    117117      character (len=7) :: str7
    118118      character(len=44) :: txt
     119      character(len=44) :: tracer_profile_file_name
    119120
    120121      logical oldcompare, earthhack,saveprofile
     
    681682            endif ! of if (txt.eq."h2o_ice")
    682683
    683             !Fe_vap
    684             if (txt .eq. "Fe_vap") then
     684            !_vap
     685            if((txt .ne. 'h2o_vap') .and.
     686     &                     (index(txt,'_vap'   ) .ne. 0))   then
    685687                  q(:,iq)=0. !kg/kg of atmosphere
    686688                  qsurf(iq) = 0. !kg/kg of atmosphere
    687                   ! Look for a "profile_Fe_vap" input file
    688                   open(91,file='profile_Fe_vap',status='old',
     689                  ! Look for a "profile_Fe_vap" input file*
     690                  tracer_profile_file_name=""
     691                  tracer_profile_file_name='profile_'//txt
     692                  open(91,file=tracer_profile_file_name,status='old',
    689693     &            form="formatted",iostat=ierr)
    690694                  if (ierr .eq. 0) then
     
    694698                        enddo
    695699                  else
    696                         write(*,*),"No profile_Fe_vap file !"
     700                        write(*,*) "No initial profile "
     701                        write(*,*) " for this tracer :"
     702                        write(*,*) txt
    697703                  endif
    698704                  close(91)
    699             endif ! (txt .eq. "Fe_vap")
    700             !Fe_ice
    701             if (txt .eq. "Fe_ice") then
    702                   q(:,iq)=0. !kg/kg of atmosphere
    703                   qsurf(iq) = 0. !kg/kg of atmosphere
    704             endif ! we only initialize the solid at 0
    705 
    706             ! Cr_vap
    707             if (txt .eq. "Cr_vap") then
    708                   q(:,iq)=0. !kg/kg of atmosphere
    709                   qsurf(iq) = 0. !kg/kg of atmosphere
    710                   ! Look for a "profile_Cr_vap" input file
    711                   open(91,file='profile_Cr_vap',status='old',
    712      &            form="formatted",iostat=ierr)
    713                   if (ierr .eq. 0) then
    714                         read(91,*),qsurf(iq)
    715                         do ilayer=1,nlayer
    716                               read(91,*)q(ilayer,iq)
    717                         enddo
    718                   else
    719                         write(*,*),"No profile_Cr_vap file !"
    720                   endif
    721                   close(91)
    722             endif ! (txt .eq. "Cr_vap")
    723             !Cr_ice
    724             if (txt .eq. "Cr_ice") then
    725                   q(:,iq)=0. !kg/kg of atmosphere
    726                   qsurf(iq) = 0. !kg/kg of atmosphere
    727             endif ! we only initialize the solid at 0
    728 
    729             ! Mg_vap
    730             if (txt .eq. "Mg_vap") then
    731                   q(:,iq)=0. !kg/kg of atmosphere
    732                   qsurf(iq) = 0. !kg/kg of atmosphere
    733                   ! Look for a "profile_Mg_vap" input file
    734                   open(91,file='profile_Mg_vap',status='old',
    735      &            form="formatted",iostat=ierr)
    736                   if (ierr .eq. 0) then
    737                         read(91,*),qsurf(iq)
    738                         do ilayer=1,nlayer
    739                               read(91,*)q(ilayer,iq)
    740                         enddo
    741                   else
    742                         write(*,*),"No profile_Mg_vap file !"
    743                   endif
    744                   close(91)
    745             endif ! (txt .eq. "Mg_vap")
    746             !Mg_ice
    747             if (txt .eq. "Mg_ice") then
    748                   q(:,iq)=0. !kg/kg of atmosphere
    749                   qsurf(iq) = 0. !kg/kg of atmosphere
    750             endif ! we only initialize the solid at 0
    751 
    752             ! Na_vap
    753             if (txt .eq. "Na_vap") then
    754                   q(:,iq)=0. !kg/kg of atmosphere
    755                   qsurf(iq) = 0. !kg/kg of atmosphere
    756                   ! Look for a "profile_Na_vap" input file
    757                   open(91,file='profile_Na_vap',status='old',
    758      &            form="formatted",iostat=ierr)
    759                   if (ierr .eq. 0) then
    760                         read(91,*),qsurf(iq)
    761                         do ilayer=1,nlayer
    762                               read(91,*)q(ilayer,iq)
    763                         enddo
    764                   else
    765                         write(*,*),"No profile_Na_vap file !"
    766                   endif
    767                   close(91)
    768             endif ! (txt .eq. Na_vap")
    769             !Cr_ice
    770             if (txt .eq. "Na_ice") then
    771                   q(:,iq)=0. !kg/kg of atmosphere
    772                   qsurf(iq) = 0. !kg/kg of atmosphere
    773             endif ! we only initialize the solid at 0
    774             ! KCl_vap
    775             if (txt .eq. "KCl_vap") then
    776                   q(:,iq)=0. !kg/kg of atmosphere
    777                   qsurf(iq) = 0. !kg/kg of atmosphere
    778                   ! Look for a "profile_KCL_vap" input file
    779                   open(91,file='profile_KCl_vap',status='old',
    780      &            form="formatted",iostat=ierr)
    781                   if (ierr .eq. 0) then
    782                         read(91,*),qsurf(iq)
    783                         do ilayer=1,nlayer
    784                               read(91,*)q(ilayer,iq)
    785                         enddo
    786                   else
    787                         write(*,*),"No profile_KCl_vap file !"
    788                   endif
    789                   close(91)
    790             endif ! (txt .eq. "KCl_vap")
    791             !KCl_ice
    792             if (txt .eq. "KCl_ice") then
    793                   q(:,iq)=0. !kg/kg of atmosphere
    794                   qsurf(iq) = 0. !kg/kg of atmosphere
    795             endif ! we only initialize the solid at 0
    796 
    797             ! Mn_vap
    798             if (txt .eq. "Mn_vap") then
    799                   q(:,iq)=0. !kg/kg of atmosphere
    800                   qsurf(iq) = 0. !kg/kg of atmosphere
    801                   ! Look for a "profile_Mn_vap" input file
    802                   open(91,file='profile_Mn_vap',status='old',
    803      &            form="formatted",iostat=ierr)
    804                   if (ierr .eq. 0) then
    805                         read(91,*),qsurf(iq)
    806                         do ilayer=1,nlayer
    807                               read(91,*)q(ilayer,iq)
    808                         enddo
    809                   else
    810                         write(*,*),"No profile_Mn_vap file !"
    811                   endif
    812                   close(91)
    813             endif ! (txt .eq. "Mn_vap")
    814             !Mn_ice
    815             if (txt .eq. "Mn_ice") then
    816                   q(:,iq)=0. !kg/kg of atmosphere
    817                   qsurf(iq) = 0. !kg/kg of atmosphere
    818             endif ! we only initialize the solid at 0
    819 
    820             ! Zn_vap
    821             if (txt .eq. "Zn_vap") then
    822                   q(:,iq)=0. !kg/kg of atmosphere
    823                   qsurf(iq) = 0. !kg/kg of atmosphere
    824                   ! Look for a "profile_Zn_vap" input file
    825                   open(91,file='profile_Zn_vap',status='old',
    826      &            form="formatted",iostat=ierr)
    827                   if (ierr .eq. 0) then
    828                         read(91,*),qsurf(iq)
    829                         do ilayer=1,nlayer
    830                               read(91,*)q(ilayer,iq)
    831                         enddo
    832                   else
    833                         write(*,*),"No profile_Zn_vap file !"
    834                   endif
    835                   close(91)
    836             endif ! (txt .eq. "Zn_vap")
    837             !Zn_ice
    838             if (txt .eq. "Zn_ice") then
     705            endif ! (txt .eq. "_vap")
     706            !_ice
     707            if((txt.ne."h2o_ice") .and.
     708     &                      (index(txt,'_ice'   ) /= 0)) then
    839709                  q(:,iq)=0. !kg/kg of atmosphere
    840710                  qsurf(iq) = 0. !kg/kg of atmosphere
Note: See TracChangeset for help on using the changeset viewer.