- Timestamp:
- 03/07/18 11:18:39 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/unstructured/timestep_unstructured.F90
r681 r683 135 135 FIELD_UL :: bufu1, bufu2, bufu3,bufu4 136 136 DBL :: time1,time2 137 INTEGER :: step, stage, i j137 INTEGER :: step, stage, iq, ij 138 138 139 139 !CALL CPU_TIME(time1) … … 153 153 154 154 CALL update_halo(transfer_primal, rhodz) 155 CALL update_halo(transfer_primal, theta_rhodz(:,:,1)) ! FIXME 155 DO iq=1, nqdyn 156 CALL update_halo(transfer_primal, theta_rhodz(:,:,iq)) 157 END DO 156 158 157 159 IF(hydrostatic) THEN … … 172 174 173 175 CALL compute_caldyn_slow_hydro(rhodz,theta,u, berni,hflux,du_slow(:,:,stage)) 174 CALL compute_coriolis(hflux,theta,qu, bufu1, drhodz(:,:,stage), dtheta_rhodz(:,:,:,stage),du_slow(:,:,stage)) 176 CALL compute_coriolis(hflux,theta,qu, bufu1, drhodz(:,:,stage), & 177 dtheta_rhodz(:,:,:,stage),du_slow(:,:,stage)) 175 178 IF(caldyn_eta == eta_mass) THEN 176 179 CALL caldyn_vert(drhodz(:,:,stage),rhodz,theta,u, & … … 179 182 180 183 ELSE ! NH 184 CALL update_halo(transfer_primal, geopot) 185 CALL update_halo(transfer_primal, W) 186 181 187 CALL compute_theta(mass_col,rhodz,theta_rhodz, theta) 182 188 CALL compute_caldyn_solver(tauj(stage),rhodz,theta, bufm1,bufm2,bufm3, pk,geopot,W, & 183 189 dPhi_fast(:,:,stage), dW_fast(:,:,stage), du_fast(:,:,stage)) 190 184 191 CALL compute_caldyn_fast(tauj(stage), pk,berni,theta,geopot, du_fast(:,:,stage),u) 192 CALL update_halo(transfer_edge, u) 185 193 CALL compute_pvort_only(rhodz,u,qv,qu) 186 CALL compute_caldyn_slow_NH(u,rhodz,geopot,W, bufm1,bufm2,bufm3,bufu1,bufu2,bufu3,bufu4, hflux, & 194 CALL update_halo(transfer_edge, qu) 195 196 CALL compute_caldyn_slow_NH(u,rhodz,geopot,W, bufm1,bufm2,bufm3, & 197 bufu1,bufu2,bufu3,bufu4, hflux, & 187 198 du_slow(:,:,stage), dPhi_slow(:,:,stage), dW_slow(:,:,stage)) 188 CALL compute_coriolis(hflux,theta,qu, bufu1, drhodz(:,:,stage),dtheta_rhodz(:,:,:,stage), du_slow(:,:,stage)) 199 CALL compute_coriolis(hflux,theta,qu, bufu1, & 200 drhodz(:,:,stage),dtheta_rhodz(:,:,:,stage), du_slow(:,:,stage)) 189 201 IF(caldyn_eta == eta_mass) THEN 190 202 CALL caldyn_vert(drhodz(:,:,stage),rhodz,theta,u, & … … 298 310 CALL xios_get_handle("icosagcm",ctx_hdl) 299 311 CALL xios_set_current_context(ctx_hdl) 300 ! CALL xios_set_axis_attr("lev",n_glo=llm ,value=lev_value) ;301 ! CALL xios_set_axis_attr("levp1",n_glo=llm+1 ,value=lev_valuep1) ;302 ! CALL xios_set_axis_attr("nq",n_glo=nqtot, value=nq_value) ;303 ! CALL xios_set_domaingroup_attr("i",ni_glo=ncell_tot, ibegin=displ, ni=ncell)304 ! CALL xios_set_domaingroup_attr("i", data_dim=1, type='unstructured' , nvertex=6, i_index=ind_glo)305 ! CALL xios_set_domaingroup_attr("i",lonvalue_1d=lon, latvalue_1d=lat, bounds_lon_1d=bounds_lon, bounds_lat_1d=bounds_lat)306 ! CALL xios_set_domain_attr("u",ni_glo=ncell_tot, ibegin=displ, ni=ncell)307 ! CALL xios_set_domain_attr("u", data_dim=1, type='unstructured' , nvertex=2, i_index=ind_glo)308 ! CALL xios_set_domain_attr("u",lonvalue_1d=lon, latvalue_1d=lat, bounds_lon_1d=bounds_lon, bounds_lat_1d=bounds_lat)309 ! CALL xios_set_domain_attr("v",ni_glo=ncell_tot, ibegin=displ, ni=ncell)310 ! CALL xios_set_domain_attr("v", data_dim=1, type='unstructured' , nvertex=3)311 ! CALL xios_set_domain_attr("v",lonvalue_1d=lon, latvalue_1d=lat, bounds_lon_1d=bounds_lon, bounds_lat_1d=bounds_lat)312 ! CALL xios_set_timestep(dtime)313 ! CALL xios_set_fieldgroup_attr("standard_output", freq_op=itau_out*xios_timestep, freq_offset=(itau_out-1)*xios_timestep)314 ! CALL xios_close_context_definition()315 316 ! PRINT *, 'Read data'317 ! CALL xios_recv_field(name,field)318 319 ! PRINT *,'Write data'320 ! CALL xios_send_field(name,field_tmp)321 322 ! PRINT *, 'Flush to disk, clean up and die'323 ! CALL xios_context_finalize324 312 END SUBROUTINE setup_xios 325 ! 313 326 314 SUBROUTINE call_xios_set_timestep(dt) BINDC(xios_set_timestep) 327 315 DBL, VALUE :: dt
Note: See TracChangeset
for help on using the changeset viewer.