Changeset 604 for codes/icosagcm/trunk/src/diagnostics/observable.f90
- Timestamp:
- 10/24/17 01:32:57 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/diagnostics/observable.f90
r599 r604 1 1 MODULE observable_mod 2 2 USE icosa 3 USE diagflux_mod 4 USE output_field_mod 3 5 IMPLICIT NONE 4 6 PRIVATE … … 38 40 USE disvert_mod 39 41 USE wind_mod 40 USE output_field_mod41 42 USE omp_para 42 43 USE time_mod … … 47 48 USE theta2theta_rhodz_mod 48 49 USE omega_mod 49 USE diagflux_mod50 50 LOGICAL, INTENT(IN) :: init 51 51 INTEGER :: l … … 166 166 CALL output_field("massflux_lat",f_buf_ulat) 167 167 168 CALL transfert_request(f_epotfluxt,req_e1_vect) 169 CALL flux_centered_lonlat(1./(itau_out*dt) , f_epotfluxt, f_buf_ulon, f_buf_ulat) 170 CALL output_field("epot_t", f_epot) 171 CALL output_field("epotflux_lon",f_buf_ulon) 172 CALL output_field("epotflux_lat",f_buf_ulat) 173 174 CALL transfert_request(f_ekinfluxt,req_e1_vect) 175 CALL flux_centered_lonlat(1./(itau_out*dt) , f_ekinfluxt, f_buf_ulon, f_buf_ulat) 176 CALL output_field("ekin_t", f_ekin) 177 CALL output_field("ekinflux_lon",f_buf_ulon) 178 CALL output_field("ekinflux_lat",f_buf_ulat) 179 180 CALL transfert_request(f_enthalpyfluxt,req_e1_vect) 181 CALL flux_centered_lonlat(1./(itau_out*dt) , f_enthalpyfluxt, f_buf_ulon, f_buf_ulat) 182 CALL output_field("enthalpy_t", f_enthalpy) 183 CALL output_field("enthalpyflux_lon",f_buf_ulon) 184 CALL output_field("enthalpyflux_lat",f_buf_ulat) 168 CALL output_energyflux(f_ulont, f_ulonfluxt, "ulon_t", "ulonflux_lon", "ulonflux_lat") 169 CALL output_energyflux(f_thetat, f_thetafluxt, "theta_t", "thetaflux_lon", "thetaflux_lat") 170 CALL output_energyflux(f_epot, f_epotfluxt, "epot_t", "epotflux_lon", "epotflux_lat") 171 CALL output_energyflux(f_ekin, f_ekinfluxt, "ekin_t", "ekinflux_lon", "ekinflux_lat") 172 CALL output_energyflux(f_enthalpy, f_enthalpyfluxt, "enthalpy_t", "enthalpyflux_lon", "enthalpyflux_lat") 185 173 186 174 CALL qflux_centered_lonlat(1./(itau_out*dt) , f_qfluxt, f_qfluxt_lon, f_qfluxt_lat) … … 192 180 END IF 193 181 END SUBROUTINE write_output_fields_basic 182 183 SUBROUTINE output_energyflux(f_energy, f_flux, name_energy, name_fluxlon, name_fluxlat) 184 TYPE(t_field), POINTER :: f_energy(:), f_flux(:) 185 CHARACTER(*), INTENT(IN) :: name_energy, name_fluxlon, name_fluxlat 186 CALL transfert_request(f_flux,req_e1_vect) 187 CALL flux_centered_lonlat(1./(itau_out*dt) , f_flux, f_buf_ulon, f_buf_ulat) 188 CALL output_field(name_energy, f_energy) 189 CALL output_field(name_fluxlon, f_buf_ulon) 190 CALL output_field(name_fluxlat, f_buf_ulat) 191 END SUBROUTINE output_energyflux 194 192 195 193 !------------------- Conversion from prognostic to observable variables ------------------
Note: See TracChangeset
for help on using the changeset viewer.