| 1 |
jscott |
1.1 |
#include "ctrparam.h" |
| 2 |
|
|
#include "ATM2D_OPTIONS.h" |
| 3 |
|
|
|
| 4 |
|
|
C !INTERFACE: |
| 5 |
|
|
SUBROUTINE SUM_OCN_FLUXES( myThid ) |
| 6 |
|
|
C *==========================================================* |
| 7 |
|
|
C | | |
| 8 |
|
|
c | | |
| 9 |
|
|
C *==========================================================* |
| 10 |
|
|
IMPLICIT NONE |
| 11 |
|
|
|
| 12 |
|
|
#include "ATMSIZE.h" |
| 13 |
|
|
#include "SIZE.h" |
| 14 |
|
|
#include "GRID.h" |
| 15 |
|
|
#include "EEPARAMS.h" |
| 16 |
|
|
|
| 17 |
|
|
C === Global SeaIce Variables === |
| 18 |
|
|
#include "THSICE_VARS.h" |
| 19 |
|
|
|
| 20 |
|
|
C === Atmos/Ocean/Seaice Interface Variables === |
| 21 |
|
|
#include "ATM2D_VARS.h" |
| 22 |
|
|
|
| 23 |
|
|
c start phasing out wind stress to ocean at this ice fraction |
| 24 |
|
|
_RS windice_thres |
| 25 |
|
|
PARAMETER ( windice_thres= 0.5 ) |
| 26 |
|
|
|
| 27 |
|
|
C !INPUT/OUTPUT PARAMETERS: |
| 28 |
|
|
C === Routine arguments === |
| 29 |
|
|
C myThid - Thread no. that called this routine. |
| 30 |
|
|
INTEGER myThid |
| 31 |
|
|
|
| 32 |
|
|
C LOCAL VARIABLES: |
| 33 |
|
|
INTEGER i,j |
| 34 |
|
|
|
| 35 |
|
|
DO j=1, sNy |
| 36 |
|
|
DO i=1,sNx |
| 37 |
|
|
|
| 38 |
|
|
IF (maskC(i,j,1,1,1).EQ.1.) THEN |
| 39 |
|
|
|
| 40 |
|
|
C Ad hoc phase out wind stress if sufficient ice coverage |
| 41 |
|
|
IF (iceMask(i,j,1,1).GT.windice_thres) THEN |
| 42 |
|
|
|
| 43 |
|
|
fu_2D(i,j)= fu_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 44 |
|
|
& /(1.d0-windice_thres) |
| 45 |
|
|
fv_2D(i,j)= fv_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 46 |
|
|
& /(1.d0-windice_thres) |
| 47 |
|
|
ENDIF |
| 48 |
|
|
|
| 49 |
|
|
sum_runoff(i,j)= sum_runoff(i,j) + runoff_2D(i,j) |
| 50 |
|
|
sum_precip(i,j)= sum_precip(i,j) + |
| 51 |
|
|
& precipo_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 52 |
|
|
sum_evap(i,j)= sum_evap(i,j) + |
| 53 |
|
|
& evapo_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 54 |
|
|
sum_qnet(i,j)= sum_qnet(i,j) + |
| 55 |
|
|
& qneto_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 56 |
|
|
sum_fu(i,j)= sum_fu(i,j) + fu_2D(i,j) |
| 57 |
|
|
sum_fv(i,j)= sum_fv(i,j) + fv_2D(i,j) |
| 58 |
|
|
sum_wspeed(i,j)= sum_wspeed(i,j) + wspeed_2D(i,j) |
| 59 |
|
|
sum_solarnet(i,j)= sum_solarnet(i,j) + |
| 60 |
|
|
& solarnet_ocn_2D(i,j)*(1.D0-iceMask(i,j,1,1)) |
| 61 |
|
|
sum_slp(i,j)= sum_slp(i,j) + slp_2D(i,j) |
| 62 |
|
|
sum_pCO2(i,j)= sum_pCO2(i,j) + pCO2_2D(i,j) |
| 63 |
|
|
ENDIF |
| 64 |
|
|
ENDDO |
| 65 |
|
|
ENDDO |
| 66 |
|
|
|
| 67 |
|
|
PRINT *,'Sum_ocn_fluxes:',JBUGI,JBUGJ,fu_2D(JBUGI,JBUGJ), |
| 68 |
|
|
& fv_2D(JBUGI,JBUGJ), runoff_2D(JBUGI,JBUGJ), |
| 69 |
|
|
& precipo_2D(JBUGI,JBUGJ), evapo_2D(JBUGI,JBUGJ), |
| 70 |
|
|
& qneto_2D(JBUGI,JBUGJ) |
| 71 |
|
|
|
| 72 |
|
|
RETURN |
| 73 |
|
|
END |