| 12 |
|
|
| 13 |
C === Global Atmos/Ocean/Seaice Interface Variables === |
C === Global Atmos/Ocean/Seaice Interface Variables === |
| 14 |
#include "ATMSIZE.h" |
#include "ATMSIZE.h" |
| 15 |
#include "AGRID.COM" |
#include "AGRID.h" |
| 16 |
#include "SIZE.h" |
#include "SIZE.h" |
| 17 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
| 18 |
|
#include "PARAMS.h" |
| 19 |
#include "ATM2D_VARS.h" |
#include "ATM2D_VARS.h" |
| 20 |
|
|
|
_RL PI |
|
|
PARAMETER ( PI = 3.14159265358979323844D0 ) |
|
|
_RL deg2rad |
|
|
PARAMETER ( deg2rad = 2.D0*PI/360.D0 ) |
|
| 21 |
_RL secDay1000 |
_RL secDay1000 |
| 22 |
PARAMETER (secDay1000= 86400000.D0) |
PARAMETER (secDay1000= 86400000.D0) |
| 23 |
|
|
| 61 |
atm_dFdt_ice(j_atm) = -dhfidtg(j_atm) |
atm_dFdt_ice(j_atm) = -dhfidtg(j_atm) |
| 62 |
atm_dFdt_ocn(j_atm) = -dhfodtg(j_atm) |
atm_dFdt_ocn(j_atm) = -dhfodtg(j_atm) |
| 63 |
C Ice feels evap from model, no change with temperature |
C Ice feels evap from model, no change with temperature |
| 64 |
atm_dLdt_ice(j_atm) = 0.D0 ! -devidtg(j_atm)/secDay1000 |
atm_dLdt_ice(j_atm) = 0. _d 0 ! -devidtg(j_atm)/secDay1000 |
| 65 |
atm_dLdt_ocn(j_atm) = -devodtg(j_atm)/secDay1000 |
atm_dLdt_ocn(j_atm) = -devodtg(j_atm)/secDay1000 |
| 66 |
atm_dFdt_iceq(j_atm) = -dhfidtgeq(j_atm) |
atm_dFdt_iceq(j_atm) = -dhfidtgeq(j_atm) |
| 67 |
atm_dFdt_ocnq(j_atm) = -dhfodtgeq(j_atm) |
atm_dFdt_ocnq(j_atm) = -dhfodtgeq(j_atm) |
| 68 |
atm_dLdt_iceq(j_atm) =0.D0 ! -devidtgeq(j_atm)/secDay1000 |
atm_dLdt_iceq(j_atm) =0. _d 0 ! -devidtgeq(j_atm)/secDay1000 |
| 69 |
atm_dLdt_ocnq(j_atm) = -devodtgeq(j_atm) |
atm_dLdt_ocnq(j_atm) = -devodtgeq(j_atm) |
| 70 |
atm_solarinc(j_atm) = -solarinc_ice(j_atm) |
atm_solarinc(j_atm) = -solarinc_ice(j_atm) |
| 71 |
atm_solar_ocn(j_atm) = solarnet_ocean(j_atm) |
atm_solar_ocn(j_atm) = solarnet_ocean(j_atm) |
| 72 |
atm_solar_ice(j_atm) = solarnet_ice(j_atm) |
atm_solar_ice(j_atm) = solarnet_ice(j_atm) |
| 73 |
atm_windspeed(j_atm) = wsocean(j_atm) |
atm_windspeed(j_atm) = wsocean(j_atm) |
| 74 |
atm_slp(j_atm) = ps4ocean(j_atm)*1013.25/984.0 |
atm_slp(j_atm) = ps4ocean(j_atm)*1013.25/984.0 |
| 75 |
atm_pco2(j_atm) = co24ocean(j_atm)*1.D-6 |
atm_pco2(j_atm) = co24ocean(j_atm)*1. _d -6 |
| 76 |
|
|
| 77 |
ENDDO |
ENDDO |
| 78 |
|
|
| 79 |
a1=sin(atm_yG(2)*deg2rad) |
a1=sin(atm_yG(2)*deg2rad) |
| 80 |
a2=sin(atm_yG(jm0-2)*deg2rad) - a1 |
a2=sin(atm_yG(jm0-2)*deg2rad) - a1 |
| 81 |
a1=a1 + 1.D0 |
a1=a1 + 1. _d 0 |
| 82 |
IF (cflan(2).ne.1.d0) CALL COMBINE_ENDS(a1,a2,1,2) |
IF (cflan(2) .NE. 1. _d 0) CALL COMBINE_ENDS(a1,a2,1,2) |
| 83 |
|
|
| 84 |
a1=sin(atm_yG(jm0-1)*deg2rad) |
a1=sin(atm_yG(jm0-1)*deg2rad) |
| 85 |
a2=a1-sin(atm_yG(jm0-2)*deg2rad) |
a2=a1-sin(atm_yG(jm0-2)*deg2rad) |
| 86 |
a1=1.D0 - a1 |
a1=1. _d 0 - a1 |
| 87 |
IF (cflan(jm0-1).ne.1.d0) CALL COMBINE_ENDS(a1,a2,jm0,jm0-1) |
IF (cflan(jm0-1) .NE. 1. _d 0) CALL COMBINE_ENDS(a1,a2,jm0,jm0-1) |
| 88 |
|
|
| 89 |
C PRINT *,'***read_atmos: tauu',tauu(JBUGJ+1) |
C PRINT *,'***read_atmos: tauu',tauu(JBUGJ+1) |
| 90 |
C PRINT *,'***read_atmos: atm_tauu',atm_tauu(JBUGJ+1) |
C PRINT *,'***read_atmos: atm_tauu',atm_tauu(JBUGJ+1) |
| 115 |
|
|
| 116 |
C === Global Atmos/Ocean/Seaice Interface Variables === |
C === Global Atmos/Ocean/Seaice Interface Variables === |
| 117 |
#include "ATMSIZE.h" |
#include "ATMSIZE.h" |
| 118 |
#include "AGRID.COM" |
#include "AGRID.h" |
| 119 |
#include "SIZE.h" |
#include "SIZE.h" |
| 120 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
| 121 |
#include "ATM2D_VARS.h" |
#include "ATM2D_VARS.h" |
| 134 |
C LOCAL VARIABLES: |
C LOCAL VARIABLES: |
| 135 |
_RL rsuma |
_RL rsuma |
| 136 |
|
|
| 137 |
rsuma=1.d0/(a1+a2) |
rsuma=1. _d 0/(a1+a2) |
| 138 |
|
|
| 139 |
C atm_tauu(ind2)= (a1*atm_tauu(ind1) + a2*atm_tauu(ind2))*rsuma |
C atm_tauu(ind2)= (a1*atm_tauu(ind1) + a2*atm_tauu(ind2))*rsuma |
| 140 |
C atm_tauv(ind2)= (a1*atm_tauv(ind1) + a2*atm_tauv(ind2))*rsuma |
C atm_tauv(ind2)= (a1*atm_tauv(ind1) + a2*atm_tauv(ind2))*rsuma |