source: palm/trunk/SOURCE/Makefile @ 1106

Last change on this file since 1106 was 1106, checked in by raasch, 11 years ago

New:
---

Porting of FFT-solver for serial runs to GPU using CUDA FFT,
preprocessor lines in transpose routines rearranged, so that routines can also
be used in serial (non-parallel) mode,
transpositions also carried out in serial mode, routines fftx, fftxp replaced
by calls of fft_x, fft_x replaced by fft_x_1d in the 1D-decomposition routines
(Makefile, Makefile_check, fft_xy, poisfft, poisfft_hybrid, transpose, new: cuda_fft_interfaces)

--stdin argument for mpiexec on lckyuh, -y and -Y settings output to header (mrun)

Changed:


Module array_kind renamed precision_kind
(check_open, data_output_3d, fft_xy, modules, user_data_output_3d)

some format changes for coupled atmosphere-ocean runs (header)
small changes in code formatting (microphysics, prognostic_equations)

Errors:


bugfix: default value (0) assigned to coupling_start_time (modules)
bugfix: initial time for preruns of coupled runs is output as -coupling_start_time (data_output_profiles)

  • Property svn:keywords set to Id
File size: 15.3 KB
Line 
1#--------------------------------------------------------------------------------#
2# This file is part of PALM.
3#
4# PALM is free software: you can redistribute it and/or modify it under the terms
5# of the GNU General Public License as published by the Free Software Foundation,
6# either version 3 of the License, or (at your option) any later version.
7#
8# PALM is distributed in the hope that it will be useful, but WITHOUT ANY
9# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
11#
12# You should have received a copy of the GNU General Public License along with
13# PALM. If not, see <http://www.gnu.org/licenses/>.
14#
15# Copyright 1997-2012  Leibniz University Hannover
16#--------------------------------------------------------------------------------#
17#
18# WARNING: don't write filenames with extension .f90 in this header!!!!
19#
20# Current revisions:
21# ------------------
22# +cuda_fft_interfaces
23#
24# Former revisions:
25# -----------------
26# $Id: Makefile 1106 2013-03-04 05:31:38Z raasch $
27#
28# 1053 2012-11-13 17:11:03Z hoffmann
29# +microphysics for two-moment cloud physics
30#
31# 1036 2012-10-22 13:43:42Z raasch
32# code put under GPL (PALM 3.9)
33#
34# 1001 2012-09-13 14:08:46Z raasch
35# -asselin_filter, advec_s|u|v|w_ups, spline_x|y|z
36#
37# 872 2012-03-29 15:57:54Z franke
38# lpm depends on modules
39#
40# 849 2012-03-15 10:35:09Z raasch
41# +lpm_advec, lpm_data_output_particles, lpm_droplet_collision,
42# lpm_droplet_condensation,
43# lpm_exchange_horiz, lpm_extend_particle_array, lpm_extend_tails,
44# lpm_extend_tail_array, lpm_init_sgs_tke, lpm_pack_arrays,
45# lpm_read_restart_file, lpm_release_set, lpm_sort_arrays,
46# lpm_write_exchange_statistics, lpm_write_restart_file
47# advec_particles renamed lpm,
48# init_particles renamed lpm_init,
49# user_advec_particles renamed user_lpm_advec,
50# particle_boundary_conds renamed lpm_boundary_conds,
51# set_particle_attributes renamed lpm_set_attributes
52# user_init_particles renamed user_lpm_init,
53# user_particle_attributes renamed user_lpm_set_attributes
54#
55# 828 2012-02-21 12:00:36Z raasch
56# init_particles depends on lpm_collision_kernels
57#
58# 825 2012-02-19 03:03:44Z raasch
59# wang_kernel renamed lpm_collision_kernels
60#
61# 790 2011-11-29 03:11:20Z raasch
62# +wang_kernel
63#
64# 667 2010-12-23 12:06:00Z suehring/gryschka
65# +advec_ws
66#
67# 421 2010-01-25 15:50:10Z raasch
68# comment line for simple install method added, which will be replaced
69# by an include command for preprocessor and compiler options when the simple
70# install process is used instead of mbuild/mrun,
71# +set_particle_attributes, set_slicer_attributes_dvrp
72# +subsidence
73#
74# 410 2009-12-04 17:05:40Z letzel
75# +data_output_mask, init_masks, user_data_output_mask
76#
77# 217 2008-12-09 18:00:48Z letzel
78# former file user_interface split into one file per subroutine
79# +init_coupling, message
80#
81# 151 2008-03-07 13:42:18Z raasch
82# +plant_canopy_model, inflow_turbulence
83# +surface_coupler
84#
85# 96 2007-06-04 08:07:41Z raasch
86# +eqn_state_seawater, init_ocean
87#
88# 82 2007-04-16 15:40:52Z raasch
89# +local_flush
90#
91# 58 2007-03-09 14:27:38Z raasch
92# default suffixes removed from the suffix list to avoid calling of m2c in
93# case of .mod files
94# +wall_fluxes, +particle_boundary_conds
95#
96# RCS Log replace by Id keyword, revision history cleaned up
97#
98# Revision 1.13  2006/08/04 14:45:31  raasch
99# +data_output_ptseries
100#
101# Revision 1.1  2002/06/11 13:42:20  raasch
102# Initial revision
103#
104#
105# Description:
106# ------------
107# Makefile for the parallelized LES model (PALM) to be used by the
108# shellscript "mrun"
109#------------------------------------------------------------------------------!
110
111PROG =  palm
112
113RCS =   advec_s_bc.f90 advec_s_pw.f90 advec_s_up.f90 advec_ws.f90 \
114        advec_u_pw.f90 advec_u_up.f90 advec_v_pw.f90 advec_v_up.f90 \
115        advec_w_pw.f90 advec_w_up.f90 average_3d_data.f90 boundary_conds.f90 \
116        buoyancy.f90 calc_liquid_water_content.f90 calc_precipitation.f90 \
117        calc_radiation.f90 calc_spectra.f90 check_for_restart.f90 \
118        check_open.f90 check_parameters.f90 close_file.f90 compute_vpt.f90 \
119        coriolis.f90 cpu_log.f90 cpu_statistics.f90 cuda_fft_interfaces.f90 \
120        data_log.f90 \
121        data_output_dvrp.f90 data_output_mask.f90 data_output_profiles.f90 \
122        data_output_ptseries.f90 data_output_spectra.f90 \
123        data_output_tseries.f90 data_output_2d.f90 data_output_3d.f90 \
124        diffusion_e.f90 diffusion_s.f90 diffusion_u.f90 diffusion_v.f90 \
125        diffusion_w.f90 diffusivities.f90 disturb_field.f90 \
126        disturb_heatflux.f90 eqn_state_seawater.f90 exchange_horiz.f90 \
127        exchange_horiz_2d.f90 fft_xy.f90 flow_statistics.f90 \
128        global_min_max.f90 header.f90 impact_of_latent_heat.f90 \
129        inflow_turbulence.f90 init_1d_model.f90 init_3d_model.f90 \
130        init_advec.f90 init_cloud_physics.f90 init_coupling.f90 init_dvrp.f90 \
131        init_grid.f90 init_masks.f90 init_ocean.f90 \
132        init_pegrid.f90 init_pt_anomaly.f90 init_rankine.f90 init_slope.f90 \
133        interaction_droplets_ptq.f90 local_flush.f90 local_getenv.f90 \
134        local_stop.f90 local_system.f90 local_tremain.f90 \
135        local_tremain_ini.f90 lpm.f90 lpm_advec.f90 lpm_boundary_conds.f90 \
136        lpm_calc_liquid_water_content.f90 lpm_collision_kernels.f90 \
137        lpm_data_output_particles.f90 lpm_droplet_collision.f90 \
138        lpm_droplet_condensation.f90 lpm_exchange_horiz.f90 \
139        lpm_extend_particle_array.f90 lpm_extend_tails.f90 \
140        lpm_extend_tail_array.f90 lpm_init.f90 lpm_init_sgs_tke.f90 \
141        lpm_pack_arrays.f90 lpm_read_restart_file.f90 lpm_release_set.f90 \
142        lpm_set_attributes.f90 lpm_sort_arrays.f90 \
143        lpm_write_exchange_statistics.f90 lpm_write_restart_file.f90 \
144        message.f90 microphysics.f90 modules.f90 netcdf.f90 package_parin.f90 \
145        palm.f90 parin.f90 plant_canopy_model.f90 poisfft.f90 \
146        poisfft_hybrid.f90 poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 \
147        production_e.f90 prognostic_equations.f90 random_function.f90 \
148        random_gauss.f90 read_3d_binary.f90 read_var_list.f90 run_control.f90 \
149        set_slicer_attributes_dvrp.f90 singleton.f90 sor.f90 \
150        subsidence.f90 sum_up_3d_data.f90 \
151        surface_coupler.f90 swap_timelevel.f90 temperton_fft.f90 \
152        time_integration.f90 time_to_string.f90 timestep.f90 \
153        timestep_scheme_steering.f90 transpose.f90 user_3d_data_averaging.f90 \
154        user_actions.f90 user_additional_routines.f90 \
155        user_check_data_output.f90 user_check_data_output_pr.f90 \
156        user_check_parameters.f90 user_data_output_2d.f90 \
157        user_data_output_3d.f90 user_data_output_dvrp.f90 \
158        user_data_output_mask.f90 user_define_netcdf_grid.f90 \
159        user_dvrp_coltab.f90 user_header.f90 user_init.f90 \
160        user_init_3d_model.f90 user_init_grid.f90 \
161        user_init_plant_canopy.f90 user_last_actions.f90 user_lpm_advec.f90 \
162        user_lpm_init.f90 user_lpm_set_attributes.f90 user_module.f90 \
163        user_parin.f90 user_read_restart_data.f90 \
164        user_spectra.f90 user_statistics.f90 wall_fluxes.f90 \
165        write_3d_binary.f90 write_compressed.f90 write_var_list.f90
166
167OBJS =  advec_s_bc.o advec_s_pw.o advec_s_up.o advec_u_pw.o advec_u_up.o \
168        advec_ws.o advec_v_pw.o advec_v_up.o advec_w_pw.o advec_w_up.o \
169        average_3d_data.o boundary_conds.o buoyancy.o \
170        calc_liquid_water_content.o calc_precipitation.o calc_radiation.o \
171        calc_spectra.o check_for_restart.o check_open.o check_parameters.o \
172        close_file.o compute_vpt.o coriolis.o cpu_log.o cpu_statistics.o \
173        cuda_fft_interfaces.o data_log.o data_output_dvrp.o data_output_mask.o \
174        data_output_profiles.o data_output_ptseries.o \
175        data_output_spectra.o data_output_tseries.o data_output_2d.o \
176        data_output_3d.o diffusion_e.o diffusion_s.o diffusion_u.o \
177        diffusion_v.o diffusion_w.o diffusivities.o disturb_field.o \
178        disturb_heatflux.o eqn_state_seawater.o exchange_horiz.o \
179        exchange_horiz_2d.o fft_xy.o flow_statistics.o global_min_max.o \
180        header.o impact_of_latent_heat.o inflow_turbulence.o init_1d_model.o \
181        init_3d_model.o init_advec.o init_cloud_physics.o init_coupling.o \
182        init_dvrp.o init_grid.o init_masks.o init_ocean.o init_pegrid.o \
183        init_pt_anomaly.o init_rankine.o init_slope.o \
184        interaction_droplets_ptq.o local_flush.o local_getenv.o local_stop.o \
185        local_system.o local_tremain.o local_tremain_ini.o lpm.o lpm_advec.o \
186        lpm_boundary_conds.o lpm_calc_liquid_water_content.o \
187        lpm_collision_kernels.o lpm_data_output_particles.o \
188        lpm_droplet_collision.o lpm_droplet_condensation.o \
189        lpm_exchange_horiz.o lpm_extend_particle_array.o lpm_extend_tails.o \
190        lpm_extend_tail_array.o lpm_init.o lpm_init_sgs_tke.o \
191        lpm_pack_arrays.o lpm_read_restart_file.o lpm_release_set.o \
192        lpm_set_attributes.o lpm_sort_arrays.o lpm_write_exchange_statistics.o \
193        lpm_write_restart_file.o message.o microphysics.o modules.o netcdf.o \
194        package_parin.o palm.o parin.o plant_canopy_model.o poisfft.o \
195        poisfft_hybrid.o poismg.o prandtl_fluxes.o pres.o print_1d.o \
196        production_e.o prognostic_equations.o random_function.o random_gauss.o \
197        read_3d_binary.o read_var_list.o run_control.o \
198        set_slicer_attributes_dvrp.o singleton.o sor.o \
199        subsidence.o sum_up_3d_data.o surface_coupler.o \
200        swap_timelevel.o temperton_fft.o time_integration.o time_to_string.o \
201        timestep.o timestep_scheme_steering.o transpose.o \
202        user_3d_data_averaging.o user_actions.o user_additional_routines.o \
203        user_check_data_output.o user_check_data_output_pr.o \
204        user_check_parameters.o user_data_output_2d.o user_data_output_3d.o \
205        user_data_output_mask.o user_data_output_dvrp.o \
206        user_define_netcdf_grid.o user_dvrp_coltab.o user_header.o \
207        user_init.o user_init_3d_model.o user_init_grid.o \
208        user_init_plant_canopy.o user_last_actions.o user_lpm_advec.o \
209        user_lpm_init.o user_lpm_set_attributes.o user_module.o user_parin.o \
210        user_read_restart_data.o user_spectra.o user_statistics.o \
211        wall_fluxes.o write_3d_binary.o write_compressed.o write_var_list.o
212
213CC = cc
214CFLAGS = -O
215
216F90 =
217COPT =
218F90FLAGS =
219LDFLAGS =
220
221#to_be_replaced_by_include
222
223.SUFFIXES:
224.SUFFIXES: .o .f90
225
226
227all: $(PROG)
228
229$(PROG): $(OBJS)
230        $(F90) -o $(PROG) $(OBJS) $(LDFLAGS)
231
232clean:
233        rm -f $(PROG) $(OBJS) *.mod *.i *.lst
234
235.f90.o:
236        $(F90) $(F90FLAGS) $(COPT) -c $<
237
238
239
240advec_particles.o: modules.o
241advec_s_bc.o: modules.o
242advec_s_pw.o: modules.o
243advec_s_up.o: modules.o
244advec_u_pw.o: modules.o
245advec_u_up.o: modules.o
246advec_v_pw.o: modules.o
247advec_v_up.o: modules.o
248advec_ws.o: modules.o
249advec_w_pw.o: modules.o
250advec_w_up.o: modules.o
251average_3d_data.o: modules.o
252boundary_conds.o: modules.o
253buoyancy.o: modules.o
254calc_liquid_water_content.o: modules.o
255calc_precipitation.o: modules.o
256calc_radiation.o: modules.o
257calc_spectra.o: modules.o fft_xy.o
258check_for_restart.o: modules.o
259check_open.o: modules.o
260check_parameters.o: modules.o subsidence.o
261close_file.o: modules.o
262compute_vpt.o: modules.o
263coriolis.o: modules.o
264cpu_log.o: modules.o
265cpu_statistics.o: modules.o
266cuda_fft_interfaces.o: cuda_fft_interfaces.f90
267data_log.o: modules.o
268data_output_dvrp.o: modules.o
269data_output_mask.o: modules.o
270data_output_profiles.o: modules.o
271data_output_ptseries.o: modules.o
272data_output_spectra.o: modules.o
273data_output_tseries.o: modules.o
274data_output_2d.o: modules.o
275data_output_3d.o: modules.o
276diffusion_e.o: modules.o
277diffusion_s.o: modules.o
278diffusion_u.o: modules.o wall_fluxes.o
279diffusion_v.o: modules.o wall_fluxes.o
280diffusion_w.o: modules.o wall_fluxes.o
281diffusivities.o: modules.o
282disturb_field.o: modules.o random_function.o
283disturb_heatflux.o: modules.o
284eqn_state_seawater.o: modules.o
285exchange_horiz.o: modules.o
286exchange_horiz_2d.o: modules.o
287fft_xy.o: cuda_fft_interfaces.o modules.o singleton.o temperton_fft.o
288flow_statistics.o: modules.o
289global_min_max.o: modules.o
290header.o: modules.o subsidence.o
291impact_of_latent_heat.o: modules.o
292inflow_turbulence.o: modules.o
293init_1d_model.o: modules.o
294init_3d_model.o: modules.o random_function.o advec_ws.o
295init_advec.o: modules.o
296init_cloud_physics.o: modules.o
297init_coupling.o: modules.o
298init_dvrp.o: modules.o
299init_grid.o: modules.o
300init_masks.o: modules.o
301init_ocean.o: modules.o eqn_state_seawater.o
302init_pegrid.o: modules.o fft_xy.o poisfft.o poisfft_hybrid.o
303init_pt_anomaly.o: modules.o
304init_rankine.o: modules.o
305init_slope.o: modules.o
306interaction_droplets_ptq.o: modules.o
307local_getenv.o: modules.o
308local_stop.o: modules.o
309local_tremain.o: modules.o
310local_tremain_ini.o: modules.o
311lpm.o: modules.o
312lpm_advec.o: modules.o
313lpm_boundary_conds.o: modules.o
314lpm_calc_liquid_water_content.o: modules.o
315lpm_collision_kernels.o: modules.o user_module.o
316lpm_data_output_particles.o: modules.o
317lpm_droplet_collision.o: modules.o lpm_collision_kernels.o
318lpm_droplet_condensation.o: modules.o lpm_collision_kernels.o
319lpm_exchange_horiz.o: modules.o
320lpm_extend_particle_array.o: modules.o
321lpm_extend_tails.o: modules.o
322lpm_extend_tail_array.o: modules.o
323lpm_init.o: modules.o lpm_collision_kernels.o random_function.o
324lpm_init_sgs_tke.o: modules.o
325lpm_pack_arrays.o: modules.o
326lpm_read_restart_file.o: modules.o
327lpm_release_set.o: modules.o random_function.o
328lpm_set_attributes.o: modules.o
329lpm_sort_arrays.o: modules.o
330lpm_write_exchange_statistics.o: modules.o
331lpm_write_restart_file.o: modules.o
332message.o: modules.o
333microphysics.o: modules.o
334modules.o: modules.f90
335netcdf.o: modules.o
336package_parin.o: modules.o
337palm.o: modules.o
338parin.o: modules.o
339plant_canopy_model.o: modules.o
340poisfft.o: modules.o fft_xy.o
341poisfft_hybrid.o: modules.o fft_xy.o
342poismg.o: modules.o
343prandtl_fluxes.o: modules.o
344pres.o: modules.o poisfft.o poisfft_hybrid.o
345print_1d.o: modules.o
346production_e.o: modules.o wall_fluxes.o
347prognostic_equations.o: modules.o advec_s_pw.o advec_s_up.o advec_u_pw.o \
348        advec_ws.o \
349        advec_u_up.o advec_v_pw.o advec_v_up.o advec_w_pw.o advec_w_up.o  \
350        buoyancy.o calc_precipitation.o calc_radiation.o coriolis.o \
351        diffusion_e.o diffusion_s.o diffusion_u.o diffusion_v.o diffusion_w.o \
352        eqn_state_seawater.o impact_of_latent_heat.o \
353        plant_canopy_model.o production_e.o \
354        subsidence.o user_actions.o \
355        microphysics.o
356random_gauss.o: random_function.o
357read_3d_binary.o: modules.o random_function.o
358read_var_list.o: modules.o
359run_control.o: modules.o
360set_slicer_attributes_dvrp.o: modules.o
361singleton.o: singleton.f90
362sor.o: modules.o
363subsidence.o: modules.o
364sum_up_3d_data.o: modules.o
365surface_coupler.o: modules.o
366swap_timelevel.o: modules.o
367temperton_fft.o: modules.o
368time_integration.o: modules.o prognostic_equations.o user_actions.o \
369        interaction_droplets_ptq.o
370timestep.o: modules.o
371timestep_scheme_steering.o: modules.o
372transpose.o: modules.o
373user_3d_data_averaging.o: modules.o user_module.o
374user_actions.o: modules.o user_module.o
375user_additional_routines.o: modules.o user_module.o
376user_check_data_output.o: modules.o user_module.o
377user_check_data_output_pr.o: modules.o user_module.o
378user_check_parameters.o: modules.o user_module.o
379user_data_output_2d.o: modules.o user_module.o
380user_data_output_3d.o: modules.o user_module.o
381user_data_output_mask.o: modules.o user_module.o
382user_data_output_dvrp.o: modules.o user_module.o
383user_define_netcdf_grid.o: modules.o user_module.o
384user_dvrp_coltab.o: modules.o user_module.o
385user_header.o: modules.o user_module.o
386user_init.o: modules.o user_module.o
387user_init_3d_model.o: modules.o user_module.o
388user_init_grid.o: modules.o user_module.o
389user_init_plant_canopy.o: modules.o user_module.o
390user_last_actions.o: modules.o user_module.o
391user_lpm_advec.o: modules.o user_module.o
392user_lpm_init.o: modules.o user_module.o
393user_lpm_set_attributes.o: modules.o user_module.o
394user_module.o: user_module.f90
395user_parin.o: modules.o user_module.o
396user_read_restart_data.o: modules.o user_module.o
397user_spectra.o: modules.o user_module.o
398user_statistics.o: modules.o user_module.o
399wall_fluxes.o: modules.o
400write_3d_binary.o: modules.o random_function.o
401write_compressed.o: modules.o
402write_var_list.o: modules.o
Note: See TracBrowser for help on using the repository browser.