| 2 |
#include "ATM2D_OPTIONS.h" |
#include "ATM2D_OPTIONS.h" |
| 3 |
|
|
| 4 |
C !INTERFACE: |
C !INTERFACE: |
| 5 |
SUBROUTINE CALC_1DTO2D( inMonth, myThid ) |
SUBROUTINE CALC_1DTO2D( myThid ) |
| 6 |
C *==========================================================* |
C *==========================================================* |
| 7 |
C | - Takes 1D atmos data, regrid to 2D ocean grid | |
C | - Takes 1D atmos data, regrid to 2D ocean grid. This | |
| 8 |
c | | |
C | involves totalling runoff into bands and redistributing| |
| 9 |
|
C | and using derivates dF/dT and dH/dT to compute | |
| 10 |
|
C | local variations in evap and heat flux. | |
| 11 |
C *==========================================================* |
C *==========================================================* |
| 12 |
IMPLICIT NONE |
IMPLICIT NONE |
| 13 |
|
|
| 24 |
|
|
| 25 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
| 26 |
C === Routine arguments === |
C === Routine arguments === |
|
C inMonth - current month (or forcing period) |
|
| 27 |
C myThid - Thread no. that called this routine. |
C myThid - Thread no. that called this routine. |
|
INTEGER inMonth |
|
| 28 |
INTEGER myThid |
INTEGER myThid |
| 29 |
|
|
| 30 |
C LOCAL VARIABLES: |
C LOCAL VARIABLES: |
| 31 |
INTEGER i,j |
INTEGER i,j ! loop counters across ocean grid |
| 32 |
INTEGER ib,ibj1,ibj2 |
INTEGER ib,ibj1,ibj2 ! runoff band variables |
| 33 |
_RL run_b(sNy) |
_RL run_b(sNy) ! total runoff in a band |
| 34 |
|
|
| 35 |
CALL INIT_2DFLD(myThid) |
CALL INIT_2DFLD(myThid) |
| 36 |
|
|
| 62 |
& 1. _d 0-atm_oc_wgt(j)) |
& 1. _d 0-atm_oc_wgt(j)) |
| 63 |
|
|
| 64 |
C Tabulate following diagnostic fluxes from atmos model only |
C Tabulate following diagnostic fluxes from atmos model only |
|
|
|
| 65 |
qnet_atm(i,j)= qnet_atm(i,j) + |
qnet_atm(i,j)= qnet_atm(i,j) + |
| 66 |
& qneti_2D(i,j)*dtatmo*iceMask(i,j,1,1) + |
& qneti_2D(i,j)*dtatmo*iceMask(i,j,1,1) + |
| 67 |
& qneto_2D(i,j)*dtatmo*(1. _d 0-iceMask(i,j,1,1)) |
& qneto_2D(i,j)*dtatmo*(1. _d 0-iceMask(i,j,1,1)) |
| 73 |
& precipo_2D(i,j)*dtatmo*(1. _d 0-iceMask(i,j,1,1)) |
& precipo_2D(i,j)*dtatmo*(1. _d 0-iceMask(i,j,1,1)) |
| 74 |
runoff_atm(i,j)= runoff_atm(i,j) + |
runoff_atm(i,j)= runoff_atm(i,j) + |
| 75 |
& runoff_2D(i,j)*dtatmo |
& runoff_2D(i,j)*dtatmo |
|
C time_cum = time_cum + dtatmo |
|
| 76 |
ENDIF |
ENDIF |
| 77 |
|
|
| 78 |
ENDDO |
ENDDO |
| 95 |
C !INTERFACE: |
C !INTERFACE: |
| 96 |
SUBROUTINE CALC_WGHT2D( i, j, ind, wgt) |
SUBROUTINE CALC_WGHT2D( i, j, ind, wgt) |
| 97 |
C *==========================================================* |
C *==========================================================* |
| 98 |
C | Use atmos grid cell 1D value and weight to convert to 2D | |
C | Use atmos grid cell 1D value and weight to convert to 2D.| |
| 99 |
C | Variations from zonal mean computed used derivative dF/dT| |
C | Variations from zonal mean computed used derivative dH/dT| |
| 100 |
C | and dL/dT for heat flux and evap terms. | |
C | and dF/dT for heat flux and evap terms. | |
| 101 |
C | | |
C | | |
| 102 |
C | Fluxes/values over seaice computed only if seaice present| |
C | Fluxes/values over seaice computed only if seaice present| |
| 103 |
C *==========================================================* |
C *==========================================================* |
| 115 |
|
|
| 116 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
| 117 |
C === Routine arguments === |
C === Routine arguments === |
| 118 |
C index - index into the atmos grid array |
C i,j - coordinates of point on ocean grid |
| 119 |
|
C ind - index into the atmos grid array |
| 120 |
C wght - weight of this atmos cell for total |
C wght - weight of this atmos cell for total |
| 121 |
INTEGER i, j |
INTEGER i, j |
| 122 |
INTEGER ind |
INTEGER ind |
| 186 |
C !INTERFACE: |
C !INTERFACE: |
| 187 |
SUBROUTINE INIT_2DFLD( myThid) |
SUBROUTINE INIT_2DFLD( myThid) |
| 188 |
C *==========================================================* |
C *==========================================================* |
| 189 |
C | | |
C | Zero out the 2D fields; called prior to doing any of the | |
| 190 |
c | | |
C | 1D->2D calculation. | |
| 191 |
C *==========================================================* |
C *==========================================================* |
| 192 |
IMPLICIT NONE |
IMPLICIT NONE |
| 193 |
|
|