File indexing completed on 2018-03-02 18:37:32 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
09a6f3668a Jeff*0001 #include "ctrparam.h"
0002 #include "ATM2D_OPTIONS.h"
0003
0004
0005 SUBROUTINE READ_ATMOS(inMonth,myThid )
0006
0007
0008
0009
0010
0011 IMPLICIT NONE
0012
0013
0014 #include "ATMSIZE.h"
0015 #include "AGRID.h"
0016 #include "SIZE.h"
0017 #include "EEPARAMS.h"
0018 #include "PARAMS.h"
0019 #include "ATM2D_VARS.h"
0020
0021 _RL secDay1000
0022 PARAMETER (secDay1000= 86400000.D0)
0023
0024
0025
0026
0027
0028 INTEGER inMonth
0029 INTEGER myThid
0030
0031
0032 _RL a1,a2
0033 INTEGER j_atm
0034
0035
0036 DO j_atm=1,jm0
0037 sum_tauu_ta(j_atm,inMonth)= sum_tauu_ta(j_atm,inMonth) +
0038 & tauu(j_atm)*dtatmo
9274434acc Jean*0039 sum_tauv_ta(j_atm,inMonth)= sum_tauv_ta(j_atm,inMonth) +
09a6f3668a Jeff*0040 & tauv(j_atm)*dtatmo
9274434acc Jean*0041 sum_wsocean_ta(j_atm,inMonth)= sum_wsocean_ta(j_atm,inMonth) +
09a6f3668a Jeff*0042 & wsocean(j_atm)*dtatmo
9274434acc Jean*0043 sum_ps4ocean_ta(j_atm,inMonth)= sum_ps4ocean_ta(j_atm,inMonth) +
09a6f3668a Jeff*0044 & ps4ocean(j_atm)*dtatmo
0045 ENDDO
0046
0047
0048
0049
0050 DO j_atm=1,jm0
0051
0052 atm_tauu(j_atm) = tauu(j_atm)
0053 atm_tauv(j_atm) = tauv(j_atm)
0054 atm_tair(j_atm) = tempr(j_atm)
b926efee65 Jeff*0055 atm_precip(j_atm) = -precip(j_atm)/secDay1000
0056 atm_runoff(j_atm) = -arunoff(j_atm)/secDay1000
0057 atm_evap_ice(j_atm) = -evai(j_atm)/secDay1000
0058 atm_evap_ocn(j_atm) = -evao(j_atm)/secDay1000
0059 atm_qnet_ice(j_atm) = -hfluxi(j_atm)
0060 atm_qnet_ocn(j_atm) = -hfluxo(j_atm)
0061 atm_dFdt_ice(j_atm) = -dhfidtg(j_atm)
0062 atm_dFdt_ocn(j_atm) = -dhfodtg(j_atm)
09a6f3668a Jeff*0063
b926efee65 Jeff*0064 atm_dLdt_ice(j_atm) = 0. _d 0
0065 atm_dLdt_ocn(j_atm) = -devodtg(j_atm)/secDay1000
09a6f3668a Jeff*0066 atm_dFdt_iceq(j_atm) = -dhfidtgeq(j_atm)
0067 atm_dFdt_ocnq(j_atm) = -dhfodtgeq(j_atm)
b926efee65 Jeff*0068 atm_dLdt_iceq(j_atm) = 0. _d 0
0efd285817 Jeff*0069 atm_dLdt_ocnq(j_atm) = -devodtgeq(j_atm)/secDay1000
b926efee65 Jeff*0070 atm_solarinc(j_atm) = solarinc_ice(j_atm)
09a6f3668a Jeff*0071 atm_solar_ocn(j_atm) = solarnet_ocean(j_atm)
0072 atm_solar_ice(j_atm) = solarnet_ice(j_atm)
0073 atm_windspeed(j_atm) = wsocean(j_atm)
4442a1784b Jeff*0074 atm_slp(j_atm) = ps4ocean(j_atm)*1013.25/984.0 - 1013.25
b926efee65 Jeff*0075 atm_pco2(j_atm) = co24ocean(j_atm)
0076
09a6f3668a Jeff*0077 ENDDO
0078
9274434acc Jean*0079 IF (cflan(2).NE.1. _d 0)
0efd285817 Jeff*0080 & CALL COMBINE_ENDS(endwgt1,endwgt2,1,2,rsumwgt)
9274434acc Jean*0081 IF (cflan(jm0-1).NE.1. _d 0)
0efd285817 Jeff*0082 & CALL COMBINE_ENDS(endwgt1,endwgt2,jm0,jm0-1,rsumwgt)
09a6f3668a Jeff*0083
0084 RETURN
0085 END
0086
0087
0088 #include "ctrparam.h"
0089 #include "ATM2D_OPTIONS.h"
0090
0091
0efd285817 Jeff*0092 SUBROUTINE COMBINE_ENDS(a1,a2,ind1,ind2,rsuma)
09a6f3668a Jeff*0093
0094
0095
0096
0097
0098 IMPLICIT NONE
0099
0100
0101
0102 #include "ATMSIZE.h"
0103 #include "AGRID.h"
0104 #include "SIZE.h"
0105 #include "EEPARAMS.h"
0106 #include "ATM2D_VARS.h"
0107
0108
0109
0110
0111
0112
0113
0efd285817 Jeff*0114
09a6f3668a Jeff*0115 _RL a1
0116 _RL a2
0117 INTEGER ind1
0118 INTEGER ind2
0119 _RL rsuma
0120
0efd285817 Jeff*0121
09a6f3668a Jeff*0122
0123
0124
0125
0126
0127 atm_tair(ind2)= (a1*atm_tair(ind1) + a2*atm_tair(ind2))*rsuma
9274434acc Jean*0128 atm_precip(ind2)= (a1*atm_precip(ind1) +
09a6f3668a Jeff*0129 & a2*atm_precip(ind2))*rsuma
0130 atm_runoff(ind2)= atm_runoff(ind1)+ atm_runoff(ind2)
9274434acc Jean*0131 atm_evap_ice(ind2)= (a1*atm_evap_ice(ind1) +
09a6f3668a Jeff*0132 & a2*atm_evap_ice(ind2))*rsuma
0133 atm_evap_ocn(ind2)= (a1*atm_evap_ocn(ind1) +
0134 & a2*atm_evap_ocn(ind2))*rsuma
9274434acc Jean*0135 atm_qnet_ice(ind2)= (a1*atm_qnet_ice(ind1)+
09a6f3668a Jeff*0136 & a2*atm_qnet_ice(ind2))*rsuma
0137 atm_qnet_ocn(ind2)= (a1*atm_qnet_ocn(ind1) +
0138 & a2*atm_qnet_ocn(ind2))*rsuma
9274434acc Jean*0139 atm_dFdt_ice(ind2)= (a1*atm_dFdt_ice(ind1)+
09a6f3668a Jeff*0140 & a2*atm_dFdt_ice(ind2))*rsuma
9274434acc Jean*0141 atm_dFdt_ocn(ind2)= (a1*atm_dFdt_ocn(ind1)+
09a6f3668a Jeff*0142 & a2*atm_dFdt_ocn(ind2))*rsuma
9274434acc Jean*0143 atm_dLdt_ice(ind2)= (a1*atm_dLdt_ice(ind1)+
09a6f3668a Jeff*0144 & a2*atm_dLdt_ice(ind2))*rsuma
9274434acc Jean*0145 atm_dLdt_ocn(ind2)= (a1*atm_dLdt_ocn(ind1)+
09a6f3668a Jeff*0146 & a2*atm_dLdt_ocn(ind2))*rsuma
9274434acc Jean*0147 atm_dFdt_iceq(ind2)= (a1*atm_dFdt_iceq(ind1)+
09a6f3668a Jeff*0148 & a2*atm_dFdt_iceq(ind2))*rsuma
9274434acc Jean*0149 atm_dFdt_ocnq(ind2)= (a1*atm_dFdt_ocnq(ind1)+
09a6f3668a Jeff*0150 & a2*atm_dFdt_ocnq(ind2))*rsuma
9274434acc Jean*0151 atm_dLdt_iceq(ind2)= (a1*atm_dLdt_iceq(ind1)+
09a6f3668a Jeff*0152 & a2*atm_dLdt_iceq(ind2))*rsuma
9274434acc Jean*0153 atm_dLdt_ocnq(ind2)= (a1*atm_dLdt_ocnq(ind1)+
09a6f3668a Jeff*0154 & a2*atm_dLdt_ocnq(ind2))*rsuma
9274434acc Jean*0155 atm_solarinc(ind2)= (a1*atm_solarinc(ind1) +
09a6f3668a Jeff*0156 & a2*atm_solarinc(ind2))*rsuma
0157 atm_solar_ocn(ind2)= (a1*atm_solar_ocn(ind1)+
0158 & a2*atm_solar_ocn(ind2))*rsuma
0159 atm_solar_ice(ind2)= (a1*atm_solar_ice(ind1)+
0160 & a2*atm_solar_ice(ind2))*rsuma
9274434acc Jean*0161 atm_windspeed(ind2)= (a1*atm_windspeed(ind1) +
09a6f3668a Jeff*0162 & a2*atm_windspeed(ind2))*rsuma
0163 atm_slp(ind2)= (a1*atm_slp(ind1) + a2*atm_slp(ind2))*rsuma
0164 atm_pco2(ind2)= (a1*atm_pco2(ind1)+a2*atm_pco2(ind2))*rsuma
9274434acc Jean*0165
09a6f3668a Jeff*0166 RETURN
0167 END
0168
0169
0170
0171
0172