Changeset 599 for codes/icosagcm/trunk/src/diagnostics/observable.f90
- Timestamp:
- 10/19/17 17:04:26 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/diagnostics/observable.f90
r581 r599 6 6 TYPE(t_field),POINTER, SAVE :: f_buf_i(:), & 7 7 f_buf_Fel(:), f_buf_uh(:), & ! horizontal velocity, different from prognostic velocity if NH 8 f_buf_ulon(:), f_buf_ulat(:), & 9 f_buf_u3d(:) ! unused, remove ? 8 f_buf_ulon(:), f_buf_ulat(:) 10 9 TYPE(t_field),POINTER, SAVE :: f_buf1_i(:), f_buf2_i(:) 11 10 TYPE(t_field),POINTER, SAVE :: f_buf_v(:), f_buf_s(:), f_buf_p(:) … … 24 23 CALL allocate_field(f_buf2_i, field_t,type_real,llm,name="buffer2_i") 25 24 CALL allocate_field(f_buf_p, field_t,type_real,llm+1) 26 CALL allocate_field(f_buf_u3d, field_t,type_real,3,llm) ! 3D vel at cell centers27 25 CALL allocate_field(f_buf_ulon,field_t,type_real,llm, name="buf_ulon") 28 26 CALL allocate_field(f_buf_ulat,field_t,type_real,llm, name="buf_ulat") … … 49 47 USE theta2theta_rhodz_mod 50 48 USE omega_mod 49 USE diagflux_mod 51 50 LOGICAL, INTENT(IN) :: init 52 51 INTEGER :: l … … 160 159 END IF 161 160 161 IF(.NOT. init) THEN 162 IF(diagflux_on) THEN 163 CALL flux_centered_lonlat(1./(itau_out*dt) , f_massfluxt, f_buf_ulon, f_buf_ulat) 164 CALL output_field("mass_t", f_masst) 165 CALL output_field("massflux_lon",f_buf_ulon) 166 CALL output_field("massflux_lat",f_buf_ulat) 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) 185 186 CALL qflux_centered_lonlat(1./(itau_out*dt) , f_qfluxt, f_qfluxt_lon, f_qfluxt_lat) 187 CALL output_field("qmass_t", f_qmasst) 188 CALL output_field("qflux_lon",f_qfluxt_lon) 189 CALL output_field("qflux_lat",f_qfluxt_lat) 190 CALL zero_qfluxt ! restart accumulating fluxes 191 END IF 192 END IF 162 193 END SUBROUTINE write_output_fields_basic 163 194
Note: See TracChangeset
for help on using the changeset viewer.