C $Header: /u/gcmpack/MITgcm/pkg/atm_ocn_coupler/atm_to_ocn_maprunoff.F,v 1.5 2016/01/06 00:28:58 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" CBOP 0 C !ROUTINE: ATM_TO_OCN_MAPRUNOFF C !INTERFACE: SUBROUTINE ATM_TO_OCN_MAPRUNOFF( I fld_atm, O fld_ocn, U add2ocn ) C !DESCRIPTION: C *==========================================================* C | SUBROUTINE ATM_TO_OCN_MAPRUNOFF C | o maps RunOff from atmos. grid (land) to ocean grid C | and Incorporate (substract) to ocean FreshWater flux C *==========================================================* C !USES: IMPLICIT NONE C == Global variables == #include "ATMSIZE.h" #include "OCNSIZE.h" #include "CPL_MAP2GRIDS.h" C !INPUT/OUTPUT PARAMETERS: C fld_atm :: Atmos. grid Run-Off field C fld_ocn :: Ocean grid Run-Off field (atmos field will be mapped to this) C add2ocn :: Ocean grid FreshWater field to update by substracting Run-Off _RL fld_atm(Nx_atm*Ny_atm) _RL fld_ocn(Nx_ocn*Ny_ocn) _RL add2ocn(Nx_ocn*Ny_ocn) CEOP C !LOCAL VARIABLES: INTEGER n, ijo, ija C Set to zero everywhere DO ijo=1,Nx_ocn*Ny_ocn fld_ocn(ijo) = 0. ENDDO C Maps Runoff from land grid point to ocean grid point C and update oceanic FreshWater flux (substract RunOff) DO n=1,nROmap ijo=ijROocn(n) ija=ijROatm(n) fld_ocn(ijo) = fld_ocn(ijo) & + fld_atm(ija)*arROmap(n) add2ocn(ijo) = add2ocn(ijo) & - fld_atm(ija)*arROmap(n) ENDDO RETURN END