C $Header: /home/ubuntu/mnt/e9_copy/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