diff --git a/src/MNH/modd_spawn.f90 b/src/MNH/modd_spawn.f90 index c4a8c1a238ddaa956c9fbfeba17aa21f6facb3ce..41f83c8a1d5ede0151a11e0ca4c1329dd1a40150 100644 --- a/src/MNH/modd_spawn.f90 +++ b/src/MNH/modd_spawn.f90 @@ -65,6 +65,7 @@ CHARACTER (LEN=28) :: CDADSPAFILE ! DAD fm-file for spawning file REAL,DIMENSION(:), SAVE,POINTER :: XXHAT1 => NULL() REAL,DIMENSION(:), SAVE,POINTER :: XYHAT1 => NULL() REAL,DIMENSION(:), SAVE,POINTER :: XZHAT1 => NULL() +REAL, SAVE,POINTER :: XZTOP1 => NULL() REAL,DIMENSION(:,:), SAVE,POINTER :: XZS1 => NULL() REAL,DIMENSION(:,:), SAVE,POINTER :: XZSMT1 => NULL() REAL,DIMENSION(:,:,:),SAVE,POINTER :: XZZ1 => NULL() diff --git a/src/MNH/spawn_grid2.f90 b/src/MNH/spawn_grid2.f90 index 25f6aa1b46727aae81c911838399cf12f7fb1eef..c1e938c6a440a49c179b11a99c53965b4b9ce801 100644 --- a/src/MNH/spawn_grid2.f90 +++ b/src/MNH/spawn_grid2.f90 @@ -10,7 +10,7 @@ MODULE MODI_SPAWN_GRID2 INTERFACE ! SUBROUTINE SPAWN_GRID2 (KXOR,KYOR,KXEND,KYEND,KDXRATIO,KDYRATIO, & - PLONOR,PLATOR,PXHAT,PYHAT,PZHAT, & + PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,PZTOP, & OSLEVE,PLEN1,PLEN2, & PZS,PZSMT,PZS_LS,PZSMT_LS, & TPDTMOD,TPDTCUR ) @@ -27,6 +27,7 @@ REAL, INTENT(INOUT) :: PLATOR ! Latitude of the origi REAL, INTENT(INOUT) :: PLONOR ! Longitude of the origine point REAL, DIMENSION(:), INTENT(INOUT) :: PXHAT,PYHAT,PZHAT ! positions x,y,z in the ! conformal plane or on the cartesian plane +REAL, INTENT(OUT) :: PZTOP ! model top (m) LOGICAL, INTENT(OUT) :: OSLEVE ! flag for SLEVE coordinate REAL, INTENT(OUT) :: PLEN1 ! Decay scale for smooth topography REAL, INTENT(OUT) :: PLEN2 ! Decay scale for small-scale topography deviation @@ -48,7 +49,7 @@ END MODULE MODI_SPAWN_GRID2 ! ! ######################################################################### SUBROUTINE SPAWN_GRID2 (KXOR,KYOR,KXEND,KYEND,KDXRATIO,KDYRATIO, & - PLONOR,PLATOR,PXHAT,PYHAT,PZHAT, & + PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,PZTOP, & OSLEVE,PLEN1,PLEN2, & PZS,PZSMT,PZS_LS,PZSMT_LS, & TPDTMOD,TPDTCUR ) @@ -188,6 +189,7 @@ REAL, INTENT(INOUT) :: PLATOR ! Latitude of the origi REAL, INTENT(INOUT) :: PLONOR ! Longitude of the origine point REAL, DIMENSION(:), INTENT(INOUT) :: PXHAT,PYHAT,PZHAT ! positions x,y,z in the ! conformal plane or on the cartesian plane +REAL, INTENT(OUT) :: PZTOP ! model top (m) LOGICAL, INTENT(OUT) :: OSLEVE ! flag for SLEVE coordinate REAL, INTENT(OUT) :: PLEN1 ! Decay scale for smooth topography REAL, INTENT(OUT) :: PLEN2 ! Decay scale for small-scale topography deviation @@ -302,6 +304,7 @@ END IF !* 2. INITIALIZATION OF THE GRID OF MODEL 2: ! -------------------------------------- ! +PZTOP = XZTOP1 PZHAT(:) = XZHAT1(:) OSLEVE = LSLEVE1 PLEN1 = XLEN11 diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90 index 8921287c5ad125c5d1804f53319c6814aec231ce..d920dbc0cf86068f1382448fc4e0a07c59680955 100644 --- a/src/MNH/spawn_model2.f90 +++ b/src/MNH/spawn_model2.f90 @@ -728,6 +728,7 @@ END IF !* 4.4 Grid variables (module MODD_GRID2 and MODD_METRICS2): ! ALLOCATE(XXHAT(IIU),XYHAT(IJU),XZHAT(IKU)) +ALLOCATE(XZTOP) ALLOCATE(XMAP(IIU,IJU)) ALLOCATE(XLAT(IIU,IJU)) ALLOCATE(XLON(IIU,IJU)) @@ -1045,9 +1046,9 @@ ELSE NYEND_TMP = NYEND ENDIF XZS=0. -CALL SPAWN_GRID2 (NXOR,NYOR,NXEND,NYEND,NDXRATIO,NDYRATIO, & - XLONORI,XLATORI,XXHAT,XYHAT,XZHAT,LSLEVE,XLEN1,XLEN2, & - XZS,XZSMT,ZZS_LS,ZZSMT_LS,TDTMOD,TDTCUR ) +CALL SPAWN_GRID2 (NXOR,NYOR,NXEND,NYEND,NDXRATIO,NDYRATIO, & + XLONORI,XLATORI,XXHAT,XYHAT,XZHAT,XZTOP,LSLEVE,XLEN1,XLEN2, & + XZS,XZSMT,ZZS_LS,ZZSMT_LS,TDTMOD,TDTCUR ) ! CALL MPPDB_CHECK2D(ZZS_LS,"SPAWN_MOD2:ZZS_LS",PRECISION) CALL MPPDB_CHECK2D(ZZSMT_LS,"SPAWN_MOD2:ZZSMT_LS",PRECISION) diff --git a/src/MNH/spawning.f90 b/src/MNH/spawning.f90 index cbd533417e49d870d5fe4c3d69d9eec1978f9081..7ab352665080b6bc19ddcea1d8107ccae3e71e25 100644 --- a/src/MNH/spawning.f90 +++ b/src/MNH/spawning.f90 @@ -278,6 +278,7 @@ USE MODD_PRECIP_n XXHAT1 => XXHAT XYHAT1 => XYHAT XZHAT1 => XZHAT +XZTOP1 => XZTOP XZS1 => XZS XZSMT1 => XZSMT XZZ1 => XZZ