Ignore:
Timestamp:
Sep 8, 2014, 10:09:19 AM (10 years ago)
Author:
aslmd
Message:

LMDZ.COMMON. introduced an attenuation profile for nudging towards wind. new parameter: phalf: pressure at which attenuation factor is divided by two.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d_common/relaxetat0.F

    r1300 r1345  
    2222! VARIABLES
    2323      REAL ucov(iip1, jjp1,llm)
     24      REAL press(llm)
    2425      INTEGER ierr, nid, nvarid
    2526      INTEGER i,j,l,ij
     
    6364      CALL getin('facwind',facwind)
    6465
     66      !! CALCULATE ATTENUATION FACTOR WITH ALTITUDE
     67      ierr = NF_INQ_VARID (nid, "presnivs", nvarid)
     68      IF (ierr .NE. NF_NOERR) THEN
     69         write(lunout,*)"dynetat0: Le champ <presnivs> est absent"
     70         CALL abort
     71      ENDIF
     72      ierr = nf90_get_var(nid, nvarid, press)
     73      IF (ierr .NE. NF_NOERR) THEN
     74         write(lunout,*)"dynetat0: Lecture echouee pour <press>"
     75         CALL abort
     76      ENDIF
     77      phalf = 1.e5 !! at this pressure, attenua is 0.5
     78      CALL getin('phalf',phalf)
     79      !! attenua goes from 1 at lowermost levels to 0 at uppermost levels
     80      IF (.NOT.ALLOCATED(attenua)) ALLOCATE(attenua(llm))
     81      attenua = 0.5*(1.+tanh(log10(press/phalf)))
     82
    6583      !! END
    6684      ierr = NF_CLOSE(nid)
Note: See TracChangeset for help on using the changeset viewer.