Changeset 957 for trunk/LMDZ.COMMON/libf


Ignore:
Timestamp:
May 10, 2013, 3:00:01 PM (12 years ago)
Author:
emillour
Message:

Common dynamics:

  • Add possibility to read a traceur.def with a different format; ie: traceur.def file with lines such as "name hadv vadv" where hadv and vadv are advection scheme number , or even just "name" on each line (advections shceme then defaults to 10, the standard VanLeer? scheme)
  • Add the "-s" (number of radiatively active scatterres) and "-b" (number of bands in the IR and visible) options to scripts makelmdz and makelmdz_fcm. Using these options only makes sense if compiling with generic physics.

EM

Location:
trunk/LMDZ.COMMON/libf
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/infotrac.F90

    r492 r957  
    6767 
    6868    INTEGER :: nqtrue  ! number of tracers read from tracer.def, without higer order of moment
    69     INTEGER :: iq, new_iq, iiq, jq, ierr
     69    INTEGER :: iq, new_iq, iiq, jq, ierr, ierr2, ierr3
     70   
     71    character(len=80) :: line ! to store a line of text
    7072 
    7173    character(len=*),parameter :: modname="infotrac_init"
     
    269271          ! Continue to read tracer.def
    270272          DO iq=1,nqtrue
    271              READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
    272           END DO
     273             !READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
     274            ! try to be smart when reading traceur.def
     275            read(90,'(80a)') line ! store the line from traceur.def
     276            ! assume format is hadv,vadv,tnom_0
     277            read(line,*,iostat=ierr2) hadv(iq),vadv(iq),tnom_0(iq)
     278            if (ierr2.ne.0) then
     279              ! maybe format is tnom0,hadv,vadv
     280              read(line,*,iostat=ierr3) tnom_0(iq),hadv(iq),vadv(iq)
     281              if (ierr3.ne.0) then
     282                ! assume only tnom0 is provided (havd and vad default to 10)
     283                read(line,*) tnom_0(iq)
     284                hadv(iq)=10
     285                vadv(iq)=10
     286              endif
     287            endif ! of if(ierr2.ne.0)
     288          END DO ! of DO iq=1,nqtrue
    273289          CLOSE(90) 
    274290       ELSE ! Without tracer.def
  • trunk/LMDZ.COMMON/libf/dyn3dpar/infotrac.F90

    r492 r957  
    6767 
    6868    INTEGER :: nqtrue  ! number of tracers read from tracer.def, without higer order of moment
    69     INTEGER :: iq, new_iq, iiq, jq, ierr
     69    INTEGER :: iq, new_iq, iiq, jq, ierr, ierr2, ierr3
     70   
     71    character(len=80) :: line ! to store a line of text
    7072 
    7173    character(len=*),parameter :: modname="infotrac_init"
     
    269271          ! Continue to read tracer.def
    270272          DO iq=1,nqtrue
    271              READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
    272           END DO
     273             !READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
     274            ! try to be smart when reading traceur.def
     275            read(90,'(80a)') line ! store the line from traceur.def
     276            ! assume format is hadv,vadv,tnom_0
     277            read(line,*,iostat=ierr2) hadv(iq),vadv(iq),tnom_0(iq)
     278            if (ierr2.ne.0) then
     279              ! maybe format is tnom0,hadv,vadv
     280              read(line,*,iostat=ierr3) tnom_0(iq),hadv(iq),vadv(iq)
     281              if (ierr3.ne.0) then
     282                ! assume only tnom0 is provided (havd and vad default to 10)
     283                read(line,*) tnom_0(iq)
     284                hadv(iq)=10
     285                vadv(iq)=10
     286              endif
     287            endif ! of if(ierr2.ne.0)
     288          END DO ! of DO iq=1,nqtrue
    273289          CLOSE(90) 
    274290       ELSE ! Without tracer.def
Note: See TracChangeset for help on using the changeset viewer.