Changeset 1976 for palm/trunk/SOURCE/netcdf_interface_mod.f90
 Timestamp:
 Jul 27, 2016 1:28:04 PM (7 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

palm/trunk/SOURCE/netcdf_interface_mod.f90
r1973 r1976 19 19 ! Current revisions: 20 20 !  21 ! 21 ! Removed remaining 2D land surface quantities. Definition of radiation 22 ! quantities is now done directly in the respective module 22 23 ! 23 24 ! Former revisions: … … 148 149 !> @todo calculation of output time levels for parallel NetCDF still does not 149 150 !> cover every exception (change of dt_do, end_time in restart) 151 !> @todo timeseries and profile output still needs to be rewritten to allow 152 !> modularization 150 153 !! 151 154 MODULE netcdf_interface … … 414 417 USE profil_parameter, & 415 418 ONLY: crmax, cross_profiles, dopr_index, profile_columns, profile_rows 419 420 USE radiation_model_mod, & 421 ONLY: radiation, radiation_define_netcdf_grid 416 422 417 423 USE spectra_mod, & … … 735 741 CASE ( 'e', 'lpt', 'nr', 'p', 'pc', 'pr', 'prr', 'pt', 'q', & 736 742 'qc', 'ql', 'ql_c', 'ql_v', 'ql_vp', 'qr', 'qv', & 737 'rad_lw_cs_hr', 'rad_lw_hr', 'rad_sw_cs_hr', & 738 'rad_sw_hr', 'rho', 's', 'sa', 'vpt' ) 743 'rho', 's', 'sa', 'vpt' ) 739 744 740 745 grid_x = 'x' … … 757 762 ! 758 763 ! w grid 759 CASE ( 'rad_lw_in', 'rad_lw_out', 'rad_sw_in', 'rad_sw_out', & 760 'w' ) 764 CASE ( 'w' ) 761 765 762 766 grid_x = 'x' … … 772 776 CALL lsm_define_netcdf_grid( domask(mid,av,i), found, & 773 777 grid_x, grid_y, grid_z ) 778 ENDIF 779 780 ! 781 ! Check for radiation quantities 782 IF ( .NOT. found .AND. radiation ) THEN 783 CALL radiation_define_netcdf_grid( domask(mid,av,i), & 784 found, grid_x, grid_y,& 785 grid_z ) 774 786 ENDIF 775 787 … … 1239 1251 CASE ( 'e', 'lpt', 'nr', 'p', 'pc', 'pr', 'prr', 'pt', 'q', & 1240 1252 'qc', 'ql', 'ql_c', 'ql_v', 'ql_vp', 'qr', 'qv', 'rho', & 1241 's', 'sa', 'vpt' , 'rad_lw_cs_hr', 'rad_lw_hr', & 1242 'rad_sw_cs_hr', 'rad_sw_hr' ) 1253 's', 'sa', 'vpt' ) 1243 1254 1244 1255 grid_x = 'x' … … 1261 1272 ! 1262 1273 ! w grid 1263 CASE ( 'rad_lw_in', 'rad_lw_out', 'rad_sw_in', 'rad_sw_out', & 1264 'w' ) 1274 CASE ( 'w' ) 1265 1275 1266 1276 grid_x = 'x' … … 1275 1285 IF ( land_surface ) THEN 1276 1286 CALL lsm_define_netcdf_grid( do3d(av,i), found, grid_x, & 1277 grid_y, grid_z ) 1287 grid_y, grid_z ) 1288 ENDIF 1289 1290 ! 1291 ! Check for radiation quantities 1292 IF ( .NOT. found .AND. radiation ) THEN 1293 CALL radiation_define_netcdf_grid( do3d(av,i), found, & 1294 grid_x, grid_y, & 1295 grid_z ) 1278 1296 ENDIF 1279 1297 … … 1837 1855 'pr_xy', 'prr_xy', 'pt_xy', 'q_xy', 'qc_xy', & 1838 1856 'ql_xy', 'ql_c_xy', 'ql_v_xy', 'ql_vp_xy', & 1839 'qr_xy', 'qv_xy', 'rad_lw_cs_hr_xy', & 1840 'rad_lw_hr_xy', 'rad_sw_cs_hr_xy', 'rad_sw_hr_xy',& 1841 'rho_xy', 's_xy', 'sa_xy', 'vpt_xy' ) 1857 'qr_xy', 'qv_xy', 'rho_xy', 's_xy', 'sa_xy', & 1858 'vpt_xy' ) 1842 1859 1843 1860 grid_x = 'x' … … 1860 1877 ! 1861 1878 ! w grid 1862 CASE ( 'rad_lw_in_xy', 'rad_lw_out_xy', 'rad_sw_in_xy', & 1863 'rad_sw_out_xy' , 'w_xy' ) 1879 CASE ( 'w_xy' ) 1864 1880 1865 1881 grid_x = 'x' 1866 1882 grid_y = 'y' 1867 1883 grid_z = 'zw' 1868 ! 1869 ! soil grid 1870 CASE ( 'm_soil_xy', 't_soil_xy' ) 1871 grid_x = 'x' 1872 grid_y = 'y' 1873 grid_z = 'zs' 1884 1874 1885 1875 1886 CASE DEFAULT 1876 1887 ! 1888 ! Check for land surface quantities 1889 IF ( land_surface ) THEN 1890 CALL lsm_define_netcdf_grid( do2d(av,i), found, & 1891 grid_x, grid_y, grid_z ) 1892 ENDIF 1893 1894 ! 1895 ! Check for radiation quantities 1896 IF ( .NOT. found .AND. radiation ) THEN 1897 CALL radiation_define_netcdf_grid( do2d(av,i), & 1898 found, grid_x, grid_y,& 1899 grid_z ) 1900 ENDIF 1901 1902 ! 1877 1903 ! Check for userdefined quantities 1878 CALL user_define_netcdf_grid( do2d(av,i), found, & 1879 grid_x, grid_y, grid_z ) 1904 IF ( .NOT. found ) THEN 1905 CALL user_define_netcdf_grid( do2d(av,i), found, & 1906 grid_x, grid_y, & 1907 grid_z ) 1908 ENDIF 1880 1909 1881 1910 IF ( .NOT. found ) THEN … … 2491 2520 'prr_xz', 'pt_xz', 'q_xz', 'qc_xz', 'ql_xz', & 2492 2521 'ql_c_xz', 'ql_v_xz', 'ql_vp_xz', 'qr_xz', 'qv_xz', & 2493 'rad_lw_cs_hr_xz', 'rad_lw_hr_xz', & 2494 'rad_sw_cs_hr_xz', 'rad_sw_hr_xz''rho_xz', 's_xz', & 2495 'sa_xz', 'vpt_xz' ) 2522 'rho_xz', 's_xz', 'sa_xz', 'vpt_xz' ) 2496 2523 2497 2524 grid_x = 'x' … … 2514 2541 ! 2515 2542 ! w grid 2516 CASE ( 'rad_lw_in_xz', 'rad_lw_out_xz', 'rad_sw_in_xz', & 2517 'rad_sw_out_xz', 'w_xz' ) 2543 CASE ( 'w_xz' ) 2518 2544 2519 2545 grid_x = 'x' … … 2521 2547 grid_z = 'zw' 2522 2548 2523 !2524 ! soil grid2525 CASE ( 'm_soil_xz', 't_soil_xz' )2526 2527 grid_x = 'x'2528 grid_y = 'y'2529 grid_z = 'zs'2530 2531 2549 CASE DEFAULT 2550 2551 ! 2552 ! Check for land surface quantities 2553 IF ( land_surface ) THEN 2554 CALL lsm_define_netcdf_grid( do2d(av,i), found, & 2555 grid_x, grid_y, grid_z ) 2556 ENDIF 2557 2558 ! 2559 ! Check for radiation quantities 2560 IF ( .NOT. found .AND. radiation ) THEN 2561 CALL radiation_define_netcdf_grid( do2d(av,i), found, & 2562 grid_x, grid_y, & 2563 grid_z ) 2564 ENDIF 2565 2532 2566 ! 2533 2567 ! Check for userdefined quantities 2534 CALL user_define_netcdf_grid( do2d(av,i), found, & 2535 grid_x, grid_y, grid_z ) 2568 IF ( .NOT. found ) THEN 2569 CALL user_define_netcdf_grid( do2d(av,i), found, & 2570 grid_x, grid_y, grid_z ) 2571 ENDIF 2572 2536 2573 IF ( .NOT. found ) THEN 2537 2574 WRITE ( message_string, * ) 'no grid defined for', & … … 3137 3174 'prr_yz', 'pt_yz', 'q_yz', 'qc_yz', 'ql_yz', & 3138 3175 'ql_c_yz', 'ql_v_yz', 'ql_vp_yz', 'qr_yz', 'qv_yz', & 3139 'rad_lw_cs_hr_yz', 'rad_lw_hr_yz', & 3140 'rad_sw_cs_hr_yz', 'rad_sw_hr_yz''rho_yz', 's_yz', & 3141 'sa_yz', 'vpt_yz' ) 3176 'rho_yz', 's_yz', 'sa_yz', 'vpt_yz' ) 3142 3177 3143 3178 grid_x = 'x' … … 3160 3195 ! 3161 3196 ! w grid 3162 CASE ( 'rad_lw_in_yz', 'rad_lw_out_yz', 'rad_sw_in_yz', & 3163 'rad_sw_out_yz', 'w_yz' ) 3197 CASE ( 'w_yz' ) 3164 3198 3165 3199 grid_x = 'x' 3166 3200 grid_y = 'y' 3167 3201 grid_z = 'zw' 3168 ! 3169 ! soil grid 3170 CASE ( 'm_soil_yz', 't_soil_yz' ) 3171 3172 grid_x = 'x' 3173 grid_y = 'y' 3174 grid_z = 'zs' 3202 3175 3203 3176 3204 CASE DEFAULT 3177 3205 ! 3206 ! Check for land surface quantities 3207 IF ( land_surface ) THEN 3208 CALL lsm_define_netcdf_grid( do2d(av,i), found, & 3209 grid_x, grid_y, grid_z ) 3210 ENDIF 3211 3212 ! 3213 ! Check for radiation quantities 3214 IF ( .NOT. found .AND. radiation ) THEN 3215 CALL radiation_define_netcdf_grid( do2d(av,i), found, & 3216 grid_x, grid_y, & 3217 grid_z ) 3218 ENDIF 3219 3220 ! 3178 3221 ! Check for userdefined quantities 3179 CALL user_define_netcdf_grid( do2d(av,i), found, & 3180 grid_x, grid_y, grid_z ) 3222 IF ( .NOT. found ) THEN 3223 CALL user_define_netcdf_grid( do2d(av,i), found, & 3224 grid_x, grid_y, grid_z ) 3225 ENDIF 3181 3226 3182 3227 IF ( .NOT. found ) THEN … … 4313 4358 ! Check for userdefined quantities (found, grid_x and grid_y 4314 4359 ! are dummies) 4315 CALL user_define_netcdf_grid( data_output_sp(i), found, &4360 CALL user_define_netcdf_grid( data_output_sp(i), found, & 4316 4361 grid_x, grid_y, grid_z ) 4317 4362
Note: See TracChangeset
for help on using the changeset viewer.