subroutine plumes_init_vars (myThid) c----------------------------------------------------------------------- c Routine to initialise the plumes state. c c Input: myThid - Process number calling this routine c c Notes: c 1) For a Cold Start - c This routine takes the initial condition on the dynamics grid c and interpolates to the plumes grid to initialize the state c variables. c 2) For a Restart, read the plumes pickup file c c Calls: dyn2plume (x2) c----------------------------------------------------------------------- implicit none #include "CPP_OPTIONS.h" #include "SIZE.h" #include "plumes_SIZE.h" #include "DYNVARS.h" #include "plumes_coms.h" #include "EEPARAMS.h" #include "PARAMS.h" integer myThid _RL udyntemp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL vdyntemp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) integer bi, bj integer idim1, idim2, jdim1, jdim2, idimout, jdimout idim1 = 1-OLx idim2 = sNx+OLx jdim1 = 1-OLy jdim2 = sNy+OLy idimout = Nxplumes Ldimout = Nrplumes IF ( startTime.EQ.0. .AND. nIter0.EQ.0 ) THEN print *,' In plumes_init_vars: Cold start ' c Create initial fields on phys. grid - Move Dynamics u and v to A-Grid call CtoA(myThid,uvel,vvel,maskW,maskS,im1,im2,jm1,jm2,Nr, . Nsx,Nsy,1,sNx,1,sNy,udyntemp,vdyntemp) do bj = myByLo(myThid), myByHi(myThid) do bi = myBxLo(myThid), myBxHi(myThid) c Create initial fields on plumes grid - interpolate from dyn. grid call dyn2plume(udyntemp,vdyntemp,idim1,idim2,jdim1,jdim2, . 1,sNx,1,sNy,Nr,Nsx,Nsy,bi,bj,1,idimout,Ldimout,uplume) call dyn2plume(theta,theta,idim1,idim2,jdim1,jdim2, . 1,sNx,1,sNy,Nr,Nsx,Nsy,bi,bj,1,idimout,Ldimout,thplume) enddo enddo ELSE print *,' In plumes_init_vars: Read from restart ' C-- Read plumes package state variables from pickup file call plumes_read_pickup( nIter0, myThid ) ENDIF return end