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 that are on both grids. c 2) For a Restart, read the plumes pickup file c c Calls: dyn2plumes (x4) 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 jdimout = Nyplumes 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 dyn2plumes(udyntemp,idim1,idim2,jdim1,jdim2,Nr,Nsx,Nsy, . 1,sNx,1,sNy,bi,bj,idimout,jdimout,Nr,Nsx,Nsy,uplume) call dyn2plumes(vdyntemp,idim1,idim2,jdim1,jdim2,Nr,Nsx,Nsy, . 1,sNx,1,sNy,bi,bj,idimout,jdimout,Nr,Nsx,Nsy,vplume) call dyn2plumes(theta,idim1,idim2,jdim1,jdim2,Nr,Nsx,Nsy, . 1,sNx,1,sNy,bi,bj,idimout,jdimout,Nr,Nsx,Nsy,thplume) call dyn2plumes(salt,idim1,idim2,jdim1,jdim2,Nr,Nsx,Nsy, . 1,sNx,1,sNy,bi,bj,idimout,jdimout,Nr,Nsx,Nsy,splume) 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