Ignore:
Timestamp:
Oct 22, 2010, 11:27:25 AM (14 years ago)
Author:
Ehouarn Millour
Message:

Implemented modifications to enable running with only one tracer for planet types different from "earth". Rem: If flag 'planet_type' is set to "earth" (default behaviour) then there must be at least 2 tracers for the dynamics to function properly.

These updates do not induce any changes in model outputs with respect to previous revisions.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/LMDZ5V1.0-dev/libf/dyn3d/iniacademic.F

    r1437 r1446  
    88      USE filtreg_mod
    99      USE infotrac, ONLY : nqtot
    10       USE control_mod
     10      USE control_mod, ONLY: day_step,planet_type
    1111#ifdef CPP_IOIPSL
    1212      USE IOIPSL
     
    9595! 1. Initializations for Earth-like case
    9696! --------------------------------------
    97       if (planet_type=="earth") then
    9897c
    9998        ! initialize planet radius, rotation rate,...
     
    128127          if (.not.read_start) then
    129128            phis(:)=0.
    130             q(:,:,1)=1.e-10
    131             q(:,:,2)=1.e-15
    132             q(:,:,3:nqtot)=0.
     129            q(:,:,:)=0
    133130            CALL sw_case_williamson91_6(vcov,ucov,teta,masse,ps)
    134131          endif
     
    138135          ! initializations for the academic case
    139136         
     137!         if (planet_type=="earth") then
     138
    140139          ! 1. local parameters
    141140          ! by convention, winter is in the southern hemisphere
     
    219218          enddo
    220219
     220
     221!         else
     222!          write(lunout,*)"iniacademic: planet types other than earth",
     223!     &                   " not implemented (yet)."
     224!          stop
     225!         endif ! of if (planet_type=="earth")
     226
    221227          ! 3. Initialize fields (if necessary)
    222228          IF (.NOT. read_start) THEN
     
    245251           
    246252            ! bulk initialization of tracers
    247             do i=1,nqtot
    248               if (i.eq.1) q(:,:,i)=1.e-10
    249               if (i.eq.2) q(:,:,i)=1.e-15
    250               if (i.gt.2) q(:,:,i)=0.
    251             enddo
     253            if (planet_type=="earth") then
     254              ! Earth: first two tracers will be water
     255              do i=1,nqtot
     256                if (i.eq.1) q(:,:,i)=1.e-10
     257                if (i.eq.2) q(:,:,i)=1.e-15
     258                if (i.gt.2) q(:,:,i)=0.
     259              enddo
     260            else
     261              q(:,:,:)=0
     262            endif ! of if (planet_type=="earth")
    252263
    253264            ! add random perturbation to temperature
     
    261272            enddo
    262273
     274            ! maintain periodicity in longitude
    263275            do l=1,llm
    264276              do ij=1,ip1jmp1,iip1
     
    267279            enddo
    268280
    269 c     PRINT *,' Appel test_period avec tetarappel '
    270 c     CALL  test_period ( ucov,vcov,tetarappel,q,p,phis )
    271 c     PRINT *,' Appel test_period avec teta '
    272 c     CALL  test_period ( ucov,vcov,teta,q,p,phis )
    273 
    274            ! initialize a traceur on one column
    275 !          j=jjp1*3/4
    276 !          i=iip1/2
    277 !          ij=(j-1)*iip1+i
    278 !          q(ij,:,3)=1.
    279 
    280281          ENDIF ! of IF (.NOT. read_start)
    281282        endif ! of if (iflag_phys.eq.2)
    282283       
    283       else
    284         write(lunout,*)"iniacademic: planet types other than earth",
    285      &                 " not implemented (yet)."
    286         stop
    287       endif ! of if (planet_type=="earth")
    288       return
    289284      END
    290285c-----------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.