C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/ocean_inversion_project/code_ecco1x1/ptracers_init.F_gasflux,v 1.1 2006/03/17 15:39:02 dimitri Exp $ C $Name: $ #include "PTRACERS_OPTIONS.h" CBOP C !ROUTINE: PTRACERS_INIT C !INTERFACE: ========================================================== SUBROUTINE PTRACERS_INIT( myThid ) C !DESCRIPTION: C Initialize PTRACERS data structures C This file is customized to compute CO2 perturbations from C 30 ocean regions for Gruber's ocean inversion project. C !USES: =============================================================== IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "PARAMS.h" #include "GRID.h" #include "PTRACERS.h" C !INPUT PARAMETERS: =================================================== C myThid :: thread number INTEGER myThid C !OUTPUT PARAMETERS: ================================================== C none #ifdef ALLOW_PTRACERS C !LOCAL VARIABLES: ==================================================== C i,j,k,bi,bj,iTracer :: loop indices INTEGER i,j,k,bi,bj,iTracer,iMonth,iUnit,iRec CHARACTER*(10) suff _RL SumPtracer #ifdef OCEAN_INVERSION_NETCDF Real*8 global(Nx,Ny) _RL local(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) Real lon(Nx,Ny),bounds_lon(Nx,Ny,2,2) Real lat(Nx,Ny),bounds_lat(Nx,Ny,2,2) Real depth(Nr),bounds_depth(Nr,2) Real MASK(Nx,Ny,Nr) Real AREA(Nx,Ny) Real BATHY(Nx,Ny) Real REGION_MASK(Nx,Ny,PTRACERS_num) Real REGION_AREA(PTRACERS_num) #endif /* OCEAN_INVERSION_NETCDF */ CEOP C Loop over tracers DO iTracer = 1, PTRACERS_num C Loop over tiles DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) C Initialize arrays in common blocks : DO k=1,Nr DO j=1-Oly,sNy+OLy DO i=1-Olx,sNx+Olx pTracer(i,j,k,bi,bj,iTracer) = 0. _d 0 gPtr(i,j,k,bi,bj,iTracer) = 0. _d 0 gPtrNM1(i,j,k,bi,bj,iTracer) = 0. _d 0 ENDDO ENDDO ENDDO DO j=1-Oly,sNy+OLy DO i=1-Olx,sNx+Olx surfaceTendencyPtr(i,j,bi,bj,iTracer) = 0. _d 0 ENDDO ENDDO C end bi,bj loops ENDDO ENDDO C end of Tracer loop ENDDO C Read from a pickup file if nIter0 is not zero IF (nIter0.NE.0) THEN C-- Suffix for pickup files IF (pickupSuff.EQ.' ') THEN WRITE(suff,'(I10.10)') nIter0 ELSE WRITE(suff,'(A10)') pickupSuff ENDIF CALL PTRACERS_READ_CHECKPOINT( nIter0,myThid ) ENDIF C Initialize pTracerMasks CALL PTRACERS_READ_MASK ( mythid ) #endif /* ALLOW_PTRACERS */ RETURN END