C $Header: /u/gcmpack/MITgcm/pkg/land/land_read_pickup.F,v 1.2 2004/03/11 14:42:00 jmc Exp $
C $Name: $
#include "LAND_OPTIONS.h"
CBOP
C !ROUTINE: LAND_READ_PICKUP
C !INTERFACE:
SUBROUTINE LAND_READ_PICKUP( myIter, myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | S/R LAND_READ_PICKUP
C | o Reads current state of land model from a pickup file
C *==========================================================*
C \ev
C !USES:
IMPLICIT NONE
C == Global variables ===
#include "LAND_SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "LAND_PARAMS.h"
#include "LAND_VARS.h"
C == Routine Arguments ==
C myIter :: time-step number
C myThid :: Number of this instance
INTEGER myIter
INTEGER myThid
#ifdef ALLOW_LAND
C !LOCAL VARIABLES:
C fn :: character buffer for creating filename
C prec :: precision of pickup files
C k :: loop index
INTEGER prec, k
CHARACTER*(MAX_LEN_FNAM) fn
CEOP
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
WRITE(fn,'(A,I10.10)') 'pickup_land.',myIter
prec = precFloat64
IF ( land_oldPickup ) THEN
C- Read fields as consecutive records
CALL MDSREADFIELD(fn,prec,'RL',land_nLev,land_groundT,1,myThid)
CALL MDSREADFIELD(fn,prec,'RL',land_nLev,land_groundW,2,myThid)
ELSE
C- Read fields as consecutive records
CALL MDSREADFIELD(fn,prec,'RL',land_nLev,land_enthalp,1,myThid)
CALL MDSREADFIELD(fn,prec,'RL',land_nLev,land_groundW,2,myThid)
k=2*land_nLev
CALL MDSREADFIELD(fn,prec,'RL', 1, land_skinT, k+1, myThid)
CALL MDSREADFIELD(fn,prec,'RL', 1, land_hSnow, k+2, myThid)
CALL MDSREADFIELD(fn,prec,'RL', 1, land_snowAge,k+3, myThid)
ENDIF
C- jmc: exchange is not really necessary for land model
C- and presently exchange S/R cannot work for 3d array where 3rd dim <> Nr
#endif /* ALLOW_LAND */
RETURN
END