Ignore:
Timestamp:
Mar 2, 2015, 5:11:07 PM (10 years ago)
Author:
lguez
Message:

Bug fix in fxhyp. There was some bad logic for the shifting of
longitude grids rlonuv, rlonv, rlonm025 and rlonp025 toward [- pi,
pi]. In some cases, one of the four grids was not shifted and the
others were. For example, you could see the bug with: iim = 48, clon =
20, grossismx = 3, dzoomx = 0.15. The bad logic involved the variable
is2 in the loop on ik = 1, 4. The loop included some tests depending
on ik. The whole thing was quite convoluted. Rewrote fxhyp. In
particular, replaced the loop on ik by a call to a new procedure,
invert_zoom_x. fxhyp.F was in dyn3d, it is replaced by fxhyp_m.F90
which is in dyn3d_common. Removed several arguments of fxhyp: zoom
parameters are accessed through serre.h; rlonm025 and rlonp025 were
not used in inigeom; min and max of longitude steps are written inside
fxhyp.

Some simplifications and modernizations in fyhyp. In particular,
several arguments are removed: zoom parameters are accessed through
serre.h; yprimv was not used in inigeom; min and max of latitude steps
are written inside fyhyp.

Removed now useless intermediary procedure fxyhyper.

Changed default value of dzoomx and dzoomy from 0 to 0.2. dzoom[xy] is
only needed when grossism[xy] > 1 and then it should be > 0.

dzoom[xy] can no longer be the extent of the zoom in degrees: it must
be expressed as the fraction of the total domain.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d_common/inigeom.F

    r1952 r2218  
    1616c
    1717c
     18      use fxhyp_m, only: fxhyp
     19      use fyhyp_m, only: fyhyp
    1820      IMPLICIT NONE
    1921c
     
    264266      WRITE(6,*)'*** Inigeom , Y = Latitude  , der.tg. hyperbolique ***'
    265267 
    266        CALL fxyhyper( clat, grossismy, dzoomy, tauy    ,
    267      ,                clon, grossismx, dzoomx, taux    ,
    268      , rlatu,yprimu,rlatv, yprimv,rlatu1, yprimu1,rlatu2,yprimu2  ,
    269      , rlonu,xprimu,rlonv,xprimv,rlonm025,xprimm025,rlonp025,xprimp025 )
    270 
     268      CALL fyhyp(rlatu, yprimu, rlatv, rlatu2, yprimu2, rlatu1, yprimu1)
     269      CALL fxhyp(xprimm025, rlonv, xprimv, rlonu, xprimu, xprimp025)
    271270 
    272271      ENDIF
Note: See TracChangeset for help on using the changeset viewer.