!copyright (C) 2001 MSC-RPN COMM %%%RPNPHY%%%
***S/P LIN_INICHAMP1
*
SUBROUTINE LIN_INICHAMP1(E, ESIZ, F, FSIZ, 1,2
$ V, VSIZ, D, DSIZ,
$ TRAV2D, SELOC, KOUNT, TRNCH,
$ DT, CDT1, NI, NK)
*
#include "impnone.cdk"
*
INTEGER I, IK, K, ESIZ, FSIZ, VSIZ, DSIZ, KOUNT, NI, NK, TRNCH
REAL E(ESIZ), F(FSIZ), D(DSIZ), V(VSIZ), DT, CDT1
REAL SELOC(NI,NK)
REAL TRAV2D (NI,NK)
*
*Author
* S. Laroche (Dec 2001) Simplified version of inichamp1
*
*Revision
*
* 001 A. Zadra (May 2002) - Compute subgrid orography fields
* (slope, eccentricity, direction)
* at the first timestep
* 002 S. Laroche (Oct 2002) - Bug fix: remove reinitialization of
* few variables related to climate mode
* in F
*
*Object
* To initialize arrays.
*
* Arguments
*
* - Input -
* F field for permanent physics variables
* FSIZ dimension of F
* V volatile bus
* VSIZ dimension of V
* D dynamics bus
* DSIZ dimension of D
* TRAV2D work field
* SELOC intermediate (staggered) sigma levels (2D)
* KOUNT timestep number
* TRNCH row number
* DT length of timestep
* CDT1 = DT for 2-time level models
* = 2*DT for 3-time level models
* NI horizontal dimension
* NK vertical dimension
*
**
*
#include "indx_sfc.cdk"
#include "options.cdk"
#include "phy_macros_f.h"
#include "phybus.cdk"
#include "consphy.cdk"
#include "phy_macros_f.h"
*
INTEGER NIK
*
EXTERNAL INISURF,EQUIVMOUNT
*
AUTOMATIC ( LAND , REAL , (NI ) )
AUTOMATIC ( ENV , REAL , (NI ) )
AUTOMATIC ( SXX , REAL , (NI ) )
AUTOMATIC ( SYY , REAL , (NI ) )
AUTOMATIC ( SXY , REAL , (NI ) )
AUTOMATIC ( SLOPE8 , REAL , (NI ) )
AUTOMATIC ( XCENT8 , REAL , (NI ) )
AUTOMATIC ( MTDIR8 , REAL , (NI ) )
*
*
NIK = NI*NK
*
*
************************************************************************
* INITIALISATIONS FAITES A KOUNT = 0 SEULEMENT *
* -------------------------------------------- *
************************************************************************
*
IF (KOUNT.EQ.0) THEN
*
DO I=1,FSIZ
F(I) = 0.0
END DO
*
DO I=1,VSIZ
V(I) = 0.0
END DO
*
CALL INISURF
( E, ESIZ, F, FSIZ, NI, NK)
*
DO I=0,NI-1
F(TSM1 + I) = F(TSOIL + I)
END DO
*
DO I=1,NI
LAND(I) = - ABS( NINT( F(mg+I-1) ) )
ENV(I) = F(lhtg+I-1)
SXX(I) = F(dhdx+I-1)
SYY(I) = F(dhdy+I-1)
SXY(I) = F(dhdxdy+I-1)
ENDDO
*
CALL EQUIVMOUNT
(LAND, ENV, SXX, SYY, SXY,
+ NI, 1, NI,
+ SLOPE8, XCENT8, MTDIR8)
*
DO I=1,NI
F(slope+I-1) = SLOPE8(I)
F(xcent+I-1) = XCENT8(I)
F(mtdir+I-1) = MTDIR8(I)
ENDDO
*
ENDIF
*
*
************************************************************************
* INITIALISATIONS FAITES A KOUNT > 0 SEULEMENT *
* -------------------------------------------- *
************************************************************************
*
IF (KOUNT.GT.0) THEN
*
DO I=1,VSIZ
V(I) = 0.0
END DO
*
ENDIF
*
RETURN
END