# $Id: Makefile 3721 2020-02-18 20:25:45Z awalther $ # # Grand Unified CLAVR-x Makefile. # # vim:tw=0:noexpandtab:ts=8: # ############################## Makefile Settings ############################### #--- attributes written to hdf files to describe data #Title_String = " PATMOS-x AVHRR reflectance, brightness temperature and cloud product CDRs" #Calibration_String = "mc5y2011" #Institution_String = " NOAA/NESDIS and the University of Wisconsin-Madison / CIMSS" #Product_Version_String = "v05r03" #Program_String = " NOAA Climate Data Record Program for satellites" #Status_String = " Interim" #Summary_String = " Included in this file are PATMOS-x/CLAVR-x calibrated reflectance, brightness temperature and cloud products developed by NOAA in collaboration with the University of Wisconsin-Madison CIMSS" #Variable_String = " refl_0_65um_nom, refl_0_86um_nom, refl_1_60um_nom, refl_3_75um_nom, temp_3_75um_nom, temp_11_0um_nom, temp_12_0um_nom, cld_temp_acha, cld_emiss_acha, cld_opd_dcomp, cld_reff_dcomp" #Keywords_String = "EARTH SCIENCE > LAND SURFACE > SURFACE RADIATIVE PROPERTIES > REFLECTANCE, EARTH SCIENCE > ATMOSPHERE > ATMOSPHERIC RADIATION > REFLECTANCE, EARTH SCIENCE > SPECTRAL/ENGINEERING > INFRARED WAVELENGTHS > BRIGHTNESS TEMPERATURE, EARTH SCIENCE > SPECTRAL/ENGINEERING > SENSOR #CHARACTERISTICS > VIEWING GEOMETRY" #Keywords_Vocabulary_String = "NASA Global Change Master Directory (GCMD) Earth Science Keywords, Version 8.0" #Metadata_Link_String = "gov.noaa.ncdc:C00837 gov.noaa.ncdc.C00840" #Time_Coverage_Resolution_String = "P1D" #Spatial_Resolution_String = "0.1 x 0.1 degree equal-angle grid" #--- attributes written to hdf files to describe data Title_String = " PATMOS-x " Calibration_String = "mc5y2011" Institution_String = " NOAA/NESDIS and the University of Wisconsin-Madison / CIMSS" Product_Version_String = "v05r04" Program_String = " NOAA Climate Data Record Program for satellites" Status_String = " Interim" Summary_String = " To add" Variable_String = " To add " Keywords_String = " To add " Keywords_Vocabulary_String = " To add " Metadata_Link_String = " To add " Time_Coverage_Resolution_String = " To add" Spatial_Resolution_String = " To add " # Include the configuration file generated by the configure script. # # History: # 6.5.3 Added ned VIIRS read routine (AW 2013/03/21 ) # # #include config.mk TOPDIR=.. ARCH=gfortran COMP=gfortran ifneq ($(ARCH), $(filter $(ARCH), ifort ifort-debug ifort-profile gfortran gfortran-debug gfortran-debug-andy gfortran-strict ifort-trace gfortran-profile gfortran-cspp)) $(error ARCH $(ARCH) not a existing build in ../build/arch) endif ifeq ($(ARCH), $(filter $(ARCH), ifort ifort-debug ifort-profile ifort-trace)) COMP=ifort endif include $(TOPDIR)/build/Makefile.inc $(info Checking if environmental Fortran compiler variable FC $(FC) is equal to chosen ARCH $(ARCH)) ifeq ($(COMP),$(FC)) $(info FC and chosen ARCH are corresponding !) else ifneq ($(FC),) $(info FC $(FC) and chosen compiler $(COMP) are not corresponding ) $(error please start make with the correct compiler by make ARCH) else $(warning FC is not set.. Risk that compiler on this machine is not corresponding with set Arch (would not work on SSEC machines!!) ) endif endif INC_DNCOMP = -I$(DNCOMP) #fflags += $(INC_DNCOMP) DNCOMP_FLAGS= $(INC_DNCOMP) fflags_clavr= ifdef hdf5libs fflags_clavr += -DHDF5LIBS endif ifdef libhim_libs LIB_HIM_FLAG = -DLIBHIM endif print-% : ; @echo $* = $($*) #----------------------------------------------------------------------------- # -- Find other source code directories -- #----------------------------------------------------------------------------- VPATH = ./pfast:$(ACHA):$(BASE):$(CCL):$(ASOS):$(CTYPE):$(CMASK):$(BASELINEMASK):$(BASELINEHEIGHT):$(SASRAB):$(PFAAST):$(EXTRA) SHELL = /bin/sh .SUFFIXES: .SUFFIXES: .f90 .F .o #Preprocessor flag for CLAVR-x CLAVRX_ID_FLAG = -DISCLAVRX #Compilation rule for f90 files .f90.o: $(fc) -c $(fflags) $(cppflags) $(cppflags_vcld) $(fflags_clavr) $(CLAVRX_ID_FLAG) $(LIB_HIM_FLAG) $(cpp) $< #Compilation rule for F files (needed for AIX compilation) .F.o: $(fc) -c $(fflags) $(cppflags) $(cppflags_vcld) $(cpp) $< #--- hardwire C compiler CC = gcc #Declaration of phony targets. .PHONY: all clean distclean #Default target is to build all executables. all: clavrxorb comp_asc_des_level2b drive_subset_level2b ################################# Executables ################################## #Core CLAVR-x routines clavrxorb_objs = process_clavrx.o \ pixel_common_mod.o \ avhrr_mod.o \ pixel_routines_mod.o \ snow_routines_mod.o \ clavrx_olr_mod.o \ clavrx_sst_mod.o \ numerical_routines_mod.o \ cx_date_time_tools_mod.o \ cx_science_tools_mod.o \ cx_spatial_metrics_mod.o \ planck_mod.o \ surface_properties_mod.o \ hdf.o \ cx_netcdf4_mod.o \ oisst_analysis.o \ constants_mod.o \ calibration_constants_mod.o \ algorithm_constants_mod.o \ cx_abi_lhp_mod_alg_function.o \ acha_module.o \ acha_microphysical_module.o \ acha_clavrx_services_module.o \ acha_clavrx_bridge_module.o \ acha_comp_module.o \ acha_ice_fraction_module.o \ acha_shadow_module.o \ cloud_base_module.o \ cloud_base_clavrx_bridge_module.o \ cloud_base_clavrx_services_module.o \ cloud_height_routines.o \ ccl_module.o \ ccl_clavrx_services_module.o \ ccl_clavrx_bridge_module.o \ asos_module.o \ asos_clavrx_bridge_module.o \ asos_clavrx_services_module.o \ file_tools.o \ clavrx_message_mod.o \ land_sfc_properties_mod.o \ avhrr_pixel_aerosol.o \ cx_hdf4_mod.o \ level2_mod.o \ level2_structures_mod.o \ sort_module.o \ gfs_hdf_mod.o \ nwp_common_mod.o \ ncep_reanalysis.o \ sfc_emiss.o \ rt_utilities_mod.o \ rtm_common_mod.o \ Compare_Float_Numbers.o \ flip_rtc.o \ re4flip.o \ big_endian.o \ get_lun.o \ seviri_mod.o \ mvcm_read_mod.o \ caliop_collocation_mod.o \ sapf_read_mod.o \ oca_mod.o \ reposnx.o \ avhrr_reposition_mod.o \ dcomp_derived_products_mod.o \ nbm_cloud_mask_module.o \ nbm_cloud_mask_clavrx_bridge_module.o \ nbm_cloud_mask_get_prob_mask_phase.o \ nbm_cloud_mask_lut_module.o \ nb_cloud_mask_clavrx_bridge_module.o \ nb_cloud_mask_clavrx_services_module.o \ nb_cloud_mask_module.o \ nb_cloud_mask_lut_module.o \ nb_cloud_mask_solar_rtm_module.o \ nb_cloud_mask_addons_module.o \ nb_cloud_mask_netcdf_read_module.o \ baseline_cloud_mask.o \ baseline_cloud_height.o \ move_bytes.o \ mreadf.o \ modis_mod.o \ iff_clavrx_bridge.o \ iff_module.o \ goes_mod.o \ abi_mod.o \ mtsat_mod.o \ fy2_mod.o \ fy4_mod.o \ coms_mod.o \ dnb_retrievals_mod.o \ dncomp_clavrx_bridge_mod.o \ dcomp_rtm_module.o \ globsnow_read_routines.o \ laszlo_insolation_mod.o \ conver.o \ sasrab.o \ getmod.o \ sensor_mod.o \ simple_cod_065um_mod.o \ simple_cod_lunar_mod.o \ simple_cod_138um_mod.o \ simple_cod_160um_mod.o \ level2b_mod.o \ user_options.o \ ir_cloud_type_baum_module.o \ cloud_type_bridge_module.o \ universal_cloud_type.o \ cloud_type_algo_module.o \ viewing_geometry_mod.o \ ahi_clavrx_bridge.o \ cx_read_ahi_mod.o \ geos_transform_pix.o \ cx_pfaast_mod.o \ cx_pfaast_tools_mod.o \ cx_pfaast_coef_mod.o \ cx_pfaast_constants_mod.o \ cx_sea_ir_emiss_mod.o \ cx_dust_mod.o \ cx_string_tools_mod.o \ cx_muri_clavrx_bridge_mod.o \ foul.o \ ahi_mod.o \ hirs_fusion_mod.o \ clavrx_static_nav_module.o \ kdtree2.o \ cx_nucaps_mod.o \ class_time_date.o \ cx_real_boolean_mod.o \ cx_abi_lhp_mod.o #Level2b routines comp_asc_des_level2b_objs = comp_asc_des_level2b.o \ hdf.o \ cx_hdf4_mod.o \ file_tools.o \ level2_structures_mod.o \ level2b_mod.o \ cx_date_time_tools_mod.o \ cx_real_boolean_mod.o \ class_time_date.o \ constants_mod.o #Level2b subsetting routines drive_subset_level2b_objs = drive_subset_level2b.o \ hdf.o \ file_tools.o \ cx_hdf4_mod.o \ level2_structures_mod.o \ level2b_mod.o \ numerical_routines_mod.o \ cx_real_boolean_mod.o \ constants_mod.o CLAVRX_OBJ_FILES = $(clavrxorb_objs) ifdef libhim_libs CLAVRX_OBJ_FILES = $(clavrxorb_objs) \ ahi_hsd_reader.o endif clavrxorb: $(clavrxorb_objs) bindir ifdef hdf5libs ifdef nlcomplibs $(fc) $(ldflags) -o ../clavrx_bin/clavrxorb $(CLAVRX_OBJ_FILES) readh5dataset.o viirs_clavrx_bridge.o viirs_read_mod.o viirs_nasa_read_module.o fy3d_read_module.o $(netcdflibs) ${hdf5libs} $(hdflibs) ${hdf5links} ${dncomplibs} ${dncomplinks} ${nlcomplibs} ${nlcomplinks} ${muri_libs} ${murilinks} ${libhim_libs} ${libhim} else $(fc) $(ldflags) -o ../clavrx_bin/clavrxorb $(CLAVRX_OBJ_FILES) readh5dataset.o viirs_clavrx_bridge.o viirs_read_mod.o viirs_nasa_read_module.o fy3d_read_module.o $(netcdflibs) ${hdf5libs} $(hdflibs) ${hdf5links} ${dncomplibs} ${dncomplinks} ${muri_libs} ${murilinks} ${libhim_libs} ${libhim} endif else $(fc) $(ldflags) -o ../clavrx_bin/clavrxorb $(CLAVRX_OBJ_FILES) $(netcdflibs) $(hdflibs) ${dncomplibs} ${dncomplinks} ${muri_libs} ${murilinks} ${libhim_libs} ${libhim} endif comp_asc_des_level2b: $(comp_asc_des_level2b_objs) bindir $(fc) $(ldflags) -o ../clavrx_bin/comp_asc_des_level2b $(comp_asc_des_level2b_objs) $(hdflibs) drive_subset_level2b: $(drive_subset_level2b_objs) bindir $(fc) $(ldflags) -o ../clavrx_bin/drive_subset_level2b $(drive_subset_level2b_objs) $(hdflibs) version.inc: Makefile echo ' Title_String = $(Title_String)' > version.inc echo ' Calibration_String = $(Calibration_String)' >> version.inc echo ' Institution_String = $(Institution_String)' >> version.inc echo ' Product_Version_String = $(Product_Version_String)' >> version.inc echo ' Program_String = $(Program_String)' >> version.inc echo ' Status_String = $(Status_String)' >> version.inc echo ' Summary_String = $(Summary_String)' >> version.inc echo ' Variable_String = $(Variable_String)' >> version.inc echo ' Keywords_String = $(Keywords_String)' >> version.inc echo ' Keywords_Vocabulary_String = $(Keywords_Vocabulary_String)' >> version.inc echo ' Metadata_Link_String = $(Metadata_Link_String)' >> version.inc echo ' Time_Coverage_Resolution_String = $(Time_Coverage_Resolution_String)' >> version.inc echo ' Spatial_Resolution_String = $(Spatial_Resolution_String)' >> version.inc bindir: $(shell test ! -d ../clavrx_bin && mkdir ../clavrx_bin) ################################# Source Files ################################# #The convert big endian flag is only needed for the OISST module, hence the special compilation #instuctions oisst_analysis.o: oisst_analysis.f90 file_tools.o pixel_common_mod.o constants_mod.o hdf.o cx_date_time_tools_mod.o cx_netcdf4_mod.o $(fc) -c $(fflags) $(beconv) $(cppflags) $(cppflags_vcld) $(cpp) $(netcdflibs) oisst_analysis.f90 constants_mod.o: constants_mod.f90 algorithm_constants_mod.o: algorithm_constants_mod.f90 constants_mod.o avhrr_pixel_aerosol.o: avhrr_pixel_aerosol.f90 pixel_common_mod.o constants_mod.o file_tools.o cx_abi_lhp_mod_alg_function.o: pixel_common_mod.o constants_mod.o pixel_common_mod.o file_tools.o clavrx_message_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) cx_abi_lhp_mod_alg_function.f90 #acha & cloud base acha_clavrx_services_module.o: acha_clavrx_services_module.f90 pixel_common_mod.o nwp_common_mod.o \ rtm_common_mod.o constants_mod.o planck_mod.o \ rtm_common_mod.o numerical_routines_mod.o \ cx_string_tools_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_clavrx_services_module.f90 acha_clavrx_bridge_module.o: acha_clavrx_bridge_module.f90 acha_module.o acha_comp_module.o \ acha_shadow_module.o acha_clavrx_services_module.o \ cx_abi_lhp_mod_alg_function.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_clavrx_bridge_module.f90 acha_module.o: acha_module.f90 acha_clavrx_services_module.o acha_microphysical_module.o acha_ice_fraction_module.o cx_real_boolean_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_module.f90 acha_microphysical_module.o: acha_microphysical_module.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_microphysical_module.f90 acha_comp_module.o: acha_comp_module.f90 acha_clavrx_services_module.o acha_microphysical_module.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_comp_module.f90 acha_ice_fraction_module.o: acha_ice_fraction_module.f90 acha_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_ice_fraction_module.f90 acha_shadow_module.o: acha_shadow_module.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ACHA)/acha_shadow_module.f90 cloud_base_clavrx_bridge_module.o: cloud_base_clavrx_bridge_module.f90 cloud_base_module.o cloud_base_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(BASE)/cloud_base_clavrx_bridge_module.f90 cloud_base_clavrx_services_module.o: cloud_base_clavrx_services_module.f90 pixel_common_mod.o nwp_common_mod.o \ rtm_common_mod.o constants_mod.o planck_mod.o rtm_common_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(BASE)/cloud_base_clavrx_services_module.f90 cloud_base_module.o: cloud_base_module.f90 cloud_base_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(BASE)/cloud_base_module.f90 ccl_clavrx_services_module.o: ccl_clavrx_services_module.f90 pixel_common_mod.o nwp_common_mod.o \ rtm_common_mod.o constants_mod.o planck_mod.o rtm_common_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(CCL)/ccl_clavrx_services_module.f90 ccl_clavrx_bridge_module.o: ccl_clavrx_bridge_module.f90 ccl_module.o ccl_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(CCL)/ccl_clavrx_bridge_module.f90 ccl_module.o: ccl_module.f90 ccl_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(CCL)/ccl_module.f90 asos_clavrx_services_module.o: asos_clavrx_services_module.f90 pixel_common_mod.o constants_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ASOS)/asos_clavrx_services_module.f90 asos_clavrx_bridge_module.o: asos_clavrx_bridge_module.f90 asos_module.o asos_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ASOS)/asos_clavrx_bridge_module.f90 asos_module.o: asos_module.f90 asos_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(ASOS)/asos_module.f90 dcomp_derived_products_mod.o: dcomp_derived_products_mod.f90 constants_mod.o pixel_common_mod.o nwp_common_mod.o cx_real_boolean_mod.o avhrr_mod.o: avhrr_mod.f90 constants_mod.o pixel_common_mod.o viewing_geometry_mod.o planck_mod.o calibration_constants_mod.o mreadf.o file_tools.o user_options.o: user_options.f90 constants_mod.o pixel_common_mod.o clavrx_message_mod.o level2b_mod.o acha_module.o cx_real_boolean_mod.o file_tools.o pixel_common_mod.o: pixel_common_mod.f90 constants_mod.o caliop_collocation_mod.o: caliop_collocation_mod.f90 pixel_common_mod.o file_tools.o clavrx_message_mod.o cx_hdf4_mod.o cx_spatial_metrics_mod.o: cx_spatial_metrics_mod.f90 constants_mod.o numerical_routines_mod.o pixel_common_mod.o cx_real_boolean_mod.o numerical_routines_mod.o acha_clavrx_bridge_module.o pixel_routines_mod.o: pixel_routines_mod.f90 constants_mod.o numerical_routines_mod.o pixel_common_mod.o nwp_common_mod.o planck_mod.o algorithm_constants_mod.o land_sfc_properties_mod.o surface_properties_mod.o calibration_constants_mod.o viewing_geometry_mod.o caliop_collocation_mod.o clavrx_olr_mod.o: clavrx_olr_mod.f90 constants_mod.o pixel_common_mod.o algorithm_constants_mod.o clavrx_sst_mod.o: clavrx_sst_mod.f90 constants_mod.o pixel_common_mod.o calibration_constants_mod.o: calibration_constants_mod.f90 constants_mod.o ahi_clavrx_bridge.o:ahi_clavrx_bridge.f90 cx_read_ahi_mod.o cx_muri_clavrx_bridge_mod.o:cx_muri_clavrx_bridge_mod.f90 pixel_common_mod.o constants_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) -I$(MURI) cx_muri_clavrx_bridge_mod.f90 cx_read_ahi_mod.o: cx_read_ahi_mod.f90 class_time_date.o file_tools.o cx_string_tools_mod.o ahi_mod.o: ahi_mod.f90 clavrx_message_mod.o calibration_constants_mod.o constants_mod.o file_tools.o class_time_date.o:class_time_date.f90 #clavrx_static_nav_module.o: clavrx_static_nav_module.f90 constants_mod.o cx_date_time_tools_mod.o pixel_common_mod.o planck_mod.o calibration_constants_mod.o viewing_geometry_mod.o clavrx_message_mod.o ifdef libhim_libs #AHI HSD reader ahi_hsd_reader.o:constants_mod.o pixel_common_mod.o file_tools.o clavrx_message_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) ${libhim_libs} ahi_hsd_reader.f90 clavrx_static_nav_module.o: clavrx_static_nav_module.f90 constants_mod.o cx_date_time_tools_mod.o pixel_common_mod.o planck_mod.o calibration_constants_mod.o viewing_geometry_mod.o clavrx_message_mod.o ahi_hsd_reader.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(LIB_HIM_FLAG) clavrx_static_nav_module.f90 else clavrx_static_nav_module.o: clavrx_static_nav_module.f90 constants_mod.o cx_date_time_tools_mod.o pixel_common_mod.o planck_mod.o calibration_constants_mod.o viewing_geometry_mod.o clavrx_message_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) clavrx_static_nav_module.f90 endif kdtree2.o : kdtree2.f90 cx_real_boolean_mod.o: cx_real_boolean_mod.f90 cx_nucaps_mod.o: cx_nucaps_mod.f90 constants_mod.o pixel_common_mod.o planck_mod.o calibration_constants_mod.o clavrx_message_mod.o cloud_height_routines.o acha_module.o kdtree2.o cx_pfaast_mod.o:$(PFAAST)/cx_pfaast_mod.f90 cx_pfaast_constants_mod.o cx_pfaast_coef_mod.o cx_pfaast_tools_mod.o cx_pfaast_tools_mod.o:$(PFAAST)/cx_pfaast_tools_mod.f90 cx_pfaast_coef_mod.o:$(PFAAST)/cx_pfaast_coef_mod.f90 cx_string_tools_mod.o cx_pfaast_constants_mod.o:$(PFAAST)/cx_pfaast_constants_mod.f90 cx_sea_ir_emiss_mod.o: cx_sea_ir_emiss_mod.f90 pixel_common_mod.o clavrx_message_mod.o cx_netcdf4_mod.o file_tools.o cx_dust_mod.o: cx_dust_mod.f90 pixel_common_mod.o clavrx_message_mod.o cx_netcdf4_mod.o cx_string_tools_mod.o:cx_string_tools_mod.f90 cx_abi_lhp_mod.o:cx_abi_lhp_mod.f90 dncomp_clavrx_bridge_mod.o:dncomp_clavrx_bridge_mod.f90 dcomp_rtm_module.o clavrx_message_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(DNCOMP_FLAGS) dncomp_clavrx_bridge_mod.f90 dcomp_rtm_module.o:dcomp_rtm_module.f90 dnb_retrievals_mod.o:dnb_retrievals_mod.f90 file_tools.o cloud_height_routines.o: cloud_height_routines.f90 constants_mod.o planck_mod.o rtm_common_mod.o numerical_routines_mod.o cx_science_tools_mod.o clavrx_message_mod.o: clavrx_message_mod.f90 file_tools.o foul.o pixel_common_mod.o cx_hdf4_mod.o: version.inc cx_hdf4_mod.f90 hdf.o constants_mod.o level2_structures_mod.o cx_real_boolean_mod.o comp_asc_des_level2b.o: comp_asc_des_level2b.f90 constants_mod.o cx_hdf4_mod.o hdf.o level2b_mod.o level2_structures_mod.o cx_real_boolean_mod.o file_tools.o drive_subset_level2b.o: drive_subset_level2b.f90 constants_mod.o cx_hdf4_mod.o hdf.o level2b_mod.o file_tools.o: file_tools.f90 foul.o: foul.f90 goes_mod.o: goes_mod.f90 pixel_common_mod.o viewing_geometry_mod.o cx_date_time_tools_mod.o avhrr_mod.o file_tools.o cx_spatial_metrics_mod.o abi_mod.o: abi_mod.f90 pixel_common_mod.o goes_mod.o file_tools.o viewing_geometry_mod.o cx_real_boolean_mod.o Compare_Float_Numbers.o: Compare_Float_Numbers.f90 constants_mod.o gfs_hdf_mod.o: gfs_hdf_mod.f90 constants_mod.o cx_science_tools_mod.o nwp_common_mod.o hdf.o clavrx_message_mod.o cx_hdf4_mod.o globsnow_read_routines.o: globsnow_read_routines.f90 constants_mod.o hdf.o cx_date_time_tools_mod.o file_tools.o hdf.o: hdf.f90 hirs_fusion_mod.o:hirs_fusion_mod.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) -I$(CX_DATA_IO) hirs_fusion_mod.f90 cx_netcdf4_mod.o: cx_netcdf4_mod.f90 level2_structures_mod.o constants_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(netcdflibs) cx_netcdf4_mod.f90 level2_mod.o: level2_mod.f90 constants_mod.o pixel_common_mod.o hdf.o cx_hdf4_mod.o cx_netcdf4_mod.o clavrx_message_mod.o cx_muri_clavrx_bridge_mod.o file_tools.o cx_string_tools_mod.o level2_structures_mod.o cx_real_boolean_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(netcdflibs) level2_mod.f90 land_sfc_properties_mod.o: land_sfc_properties_mod.f90 constants_mod.o file_tools.o class_time_date.o numerical_routines_mod.o cx_hdf4_mod.o hdf.o clavrx_message_mod.o laszlo_insolation_mod.o: laszlo_insolation_mod.f90 constants_mod.o sasrab.o conver.o getmod.o pixel_common_mod.o nwp_common_mod.o level2_structures_mod.o: level2_structures_mod.f90 constants_mod.o fy4_mod.o: fy4_mod.f90 pixel_common_mod.o constants_mod.o viewing_geometry_mod.o clavrx_message_mod.o cx_netcdf4_mod.o cx_date_time_tools_mod.o file_tools.o clavrx_static_nav_module.o modis_mod.o: modis_mod.f90 constants_mod.o hdf.o pixel_common_mod.o pixel_routines_mod.o planck_mod.o viewing_geometry_mod.o file_tools.o calibration_constants_mod.o cx_date_time_tools_mod.o cx_real_boolean_mod.o iff_clavrx_bridge.o: iff_clavrx_bridge.f90 iff_module.o constants_mod.o pixel_common_mod.o pixel_routines_mod.o planck_mod.o viewing_geometry_mod.o iff_module.o: iff_module.f90 hdf.o pixel_common_mod.o cx_hdf4_mod.o cx_string_tools_mod.o cx_date_time_tools_mod.o mtsat_mod.o: mtsat_mod.f90 pixel_common_mod.o constants_mod.o numerical_routines_mod.o goes_mod.o get_lun.o avhrr_mod.o file_tools.o fy2_mod.o: fy2_mod.f90 pixel_common_mod.o constants_mod.o numerical_routines_mod.o mtsat_mod.o get_lun.o goes_mod.o viewing_geometry_mod.o file_tools.o coms_mod.o: coms_mod.f90 pixel_common_mod.o constants_mod.o numerical_routines_mod.o goes_mod.o get_lun.o viewing_geometry_mod.o file_tools.o ncep_reanalysis.o: ncep_reanalysis.f90 constants_mod.o hdf.o nwp_common_mod.o sort_module.o numerical_routines_mod.o numerical_routines_mod.o: numerical_routines_mod.f90 constants_mod.o viewing_geometry_mod.o: viewing_geometry_mod.f90 constants_mod.o nwp_common_mod.o: nwp_common_mod.f90 pixel_common_mod.o constants_mod.o cx_science_tools_mod.o #level2_mod.o: level2_mod.f90 constants_mod.o pixel_common_mod.o hdf.o cx_hdf4_mod.o cx_netcdf4_mod.o clavrx_message_mod.o cx_muri_clavrx_bridge_mod.o file_tools.o cx_string_tools_mod.o level2_structures_mod.o level2b_mod.o: level2b_mod.f90 constants_mod.o hdf.o cx_hdf4_mod.o level2_mod.o cx_real_boolean_mod.o file_tools.o mvcm_read_mod.o: mvcm_read_mod.f90 hdf.o constants_mod.o pixel_common_mod.o file_tools.o cx_netcdf4_mod.o cx_date_time_tools_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) mvcm_read_mod.f90 sapf_read_mod.o: sapf_read_mod.f90 hdf.o constants_mod.o pixel_common_mod.o file_tools.o cx_netcdf4_mod.o cx_date_time_tools_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) sapf_read_mod.f90 planck_mod.o: planck_mod.f90 constants_mod.o calibration_constants_mod.o pixel_common_mod.o avhrr_reposition_mod.o: avhrr_reposition_mod.f90 constants_mod.o cx_date_time_tools_mod.o pixel_common_mod.o reposnx.o seviri_mod.o: seviri_mod.f90 pixel_common_mod.o constants_mod.o numerical_routines_mod.o goes_mod.o viewing_geometry_mod.o oca_mod.o: oca_mod.f90 hdf.o constants_mod.o pixel_common_mod.o file_tools.o sfc_emiss.o: sfc_emiss.f90 constants_mod.o numerical_routines_mod.o surface_properties_mod.o: surface_properties_mod.f90 pixel_common_mod.o constants_mod.o sort_module.o: sort_module.f90 strings.o:strings.f90 simple_cod_065um_mod.o: simple_cod_065um_mod.f90 constants_mod.o pixel_common_mod.o numerical_routines_mod.o surface_properties_mod.o file_tools.o simple_cod_lunar_mod.o: simple_cod_lunar_mod.f90 constants_mod.o pixel_common_mod.o numerical_routines_mod.o surface_properties_mod.o file_tools.o simple_cod_138um_mod.o: simple_cod_138um_mod.f90 constants_mod.o pixel_common_mod.o numerical_routines_mod.o surface_properties_mod.o file_tools.o simple_cod_160um_mod.o: simple_cod_160um_mod.f90 constants_mod.o pixel_common_mod.o numerical_routines_mod.o surface_properties_mod.o file_tools.o snow_routines_mod.o: snow_routines_mod.f90 constants_mod.o pixel_common_mod.o rt_utilities_mod.o: rt_utilities_mod.f90 rtm_common_mod.o pixel_common_mod.o nwp_common_mod.o constants_mod.o cx_pfaast_mod.o calibration_constants_mod.o clavrx_message_mod.o numerical_routines_mod.o cx_date_time_tools_mod.o cx_science_tools_mod.o surface_properties_mod.o #sensor ifdef hdf5libs readh5dataset.o: readh5dataset.f90 viirs_clavrx_bridge.o: viirs_clavrx_bridge.f90 readh5dataset.o file_tools.o clavrx_message_mod.o viirs_read_mod.o pixel_common_mod.o viirs_read_mod.o: viirs_read_mod.f90 file_tools.o readh5dataset.o viirs_nasa_read_module.o: viirs_nasa_read_module.f90 file_tools.o pixel_common_mod.o constants_mod.o readh5dataset.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(hdf5libs) viirs_nasa_read_module.f90 fy3d_read_module.o: fy3d_read_module.f90 constants_mod.o pixel_common_mod.o readh5dataset.o file_tools.o sensor_mod.o: sensor_mod.f90 constants_mod.o pixel_common_mod.o avhrr_mod.o goes_mod.f90 modis_mod.o fy2_mod.o fy3d_read_module.o fy4_mod.o viirs_clavrx_bridge.o viirs_nasa_read_module.o seviri_mod.o coms_mod.o iff_clavrx_bridge.o algorithm_constants_mod.o ahi_clavrx_bridge.o abi_mod.o mvcm_read_mod.o sapf_read_mod.o hirs_fusion_mod.o ahi_mod.o clavrx_static_nav_module.o class_time_date.o $(fc) -c $(fflags) $(fflags_clavr) ${hdf5libs} $(cpp) $(LIB_HIM_FLAG) sensor_mod.f90 else sensor_mod.o: sensor_mod.f90 constants_mod.o pixel_common_mod.o avhrr_mod.o goes_mod.f90 modis_mod.o fy2_mod.o fy3d_read_module.o fy4_mod.o viirs_nasa_read_module.o seviri_mod.o coms_mod.o iff_clavrx_bridge.o algorithm_constants_mod.o clavrx_message_mod.o cx_read_ahi_mod.o mvcm_read_mod.o sapf_read_mod.o ahi_mod.o clavrx_static_nav_module.o $(fc) -c $(fflags) $(cppflags) $(cppflags_vcld) $(cpp) $(LIB_HIM_FLAG) sensor_mod.f90 endif #cloud t&m cloud_type_bridge_module.o:$(CTYPE)/cloud_type_bridge_module.f90 constants_mod.o pixel_common_mod.o cloud_type_algo_module.o rtm_common_mod.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CTYPE)/cloud_type_bridge_module.f90 cloud_type_algo_module.o:$(CTYPE)/cloud_type_algo_module.f90 constants_mod.o pixel_common_mod.o nb_cloud_mask_clavrx_bridge_module.o: $(CMASK)/ECM1/nb_cloud_mask_clavrx_bridge_module.f90 pixel_common_mod.o numerical_routines_mod.o nb_cloud_mask_clavrx_services_module.o nb_cloud_mask_module.o \ nb_cloud_mask_addons_module.o file_tools.o nb_cloud_mask_solar_rtm_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM1/nb_cloud_mask_clavrx_bridge_module.f90 nbm_cloud_mask_clavrx_bridge_module.o: $(CMASK)/ECM2/nbm_cloud_mask_clavrx_bridge_module.f90 pixel_common_mod.o numerical_routines_mod.o nb_cloud_mask_clavrx_services_module.o nbm_cloud_mask_module.o \ nb_cloud_mask_addons_module.o file_tools.o nb_cloud_mask_solar_rtm_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM2/nbm_cloud_mask_clavrx_bridge_module.f90 nbm_cloud_mask_get_prob_mask_phase.o: $(CMASK)/ECM2/nbm_cloud_mask_get_prob_mask_phase.f90 nb_cloud_mask_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(CMASK)/ECM2/nbm_cloud_mask_get_prob_mask_phase.f90 nbm_cloud_mask_lut_module.o: $(CMASK)/ECM2/nbm_cloud_mask_lut_module.f90 nb_cloud_mask_clavrx_services_module.o nb_cloud_mask_netcdf_read_module.o file_tools.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM2/nbm_cloud_mask_lut_module.f90 nbm_cloud_mask_module.o: $(CMASK)/ECM2/nbm_cloud_mask_module.f90 nb_cloud_mask_clavrx_services_module.o nb_cloud_mask_netcdf_read_module.o \ nbm_cloud_mask_get_prob_mask_phase.o nbm_cloud_mask_lut_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM2/nbm_cloud_mask_module.f90 nb_cloud_mask_lut_module.o: $(CMASK)/ECM1/nb_cloud_mask_lut_module.f90 nb_cloud_mask_netcdf_read_module.o nb_cloud_mask_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM1/nb_cloud_mask_lut_module.f90 nb_cloud_mask_solar_rtm_module.o: $(CMASK)/nb_cloud_mask_solar_rtm_module.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(CMASK)/nb_cloud_mask_solar_rtm_module.f90 nb_cloud_mask_clavrx_services_module.o: $(CMASK)/nb_cloud_mask_clavrx_services_module.f90 nb_cloud_mask_module.o: $(CMASK)/ECM1/nb_cloud_mask_module.f90 nb_cloud_mask_clavrx_services_module.o nb_cloud_mask_lut_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/ECM1/nb_cloud_mask_module.f90 nb_cloud_mask_addons_module.o: $(CMASK)/nb_cloud_mask_addons_module.f90 nb_cloud_mask_clavrx_services_module.o $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/nb_cloud_mask_addons_module.f90 nb_cloud_mask_netcdf_read_module.o: $(CMASK)/nb_cloud_mask_netcdf_read_module.f90 $(fc) -c $(fflags) $(cppflags) $(cpp) $(CLAVRX_ID_FLAG) $(netcdflibs) $(CMASK)/nb_cloud_mask_netcdf_read_module.f90 universal_cloud_type.o:$(EXTRA)/universal_cloud_type.f90 constants_mod.o pixel_common_mod.o rt_utilities_mod.o ir_cloud_type_baum_module.o: $(EXTRA)/ir_cloud_type_baum_module.f90 constants_mod.o pixel_common_mod.o baseline_cloud_height.o: $(BASELINEHEIGHT)/baseline_cloud_height.f90 pixel_common_mod.o constants_mod.o nwp_common_mod.o rtm_common_mod.o planck_mod.o clavrx_message_mod.o baseline_cloud_mask.o: $(BASELINEMASK)/baseline_cloud_mask.f90 pixel_common_mod.o constants_mod.o nwp_common_mod.o rtm_common_mod.o planck_mod.o clavrx_message_mod.o calibration_constants_mod.o sub_routine = constants_mod.o pixel_common_mod.o pixel_routines_mod.o clavrx_sst_mod.o clavrx_olr_mod.o gfs_hdf_mod.o \ avhrr_mod.o sensor_mod.o user_options.o oisst_analysis.o \ surface_properties_mod.o sfc_emiss.o ir_cloud_type_baum_module.o universal_cloud_type.o cloud_type_bridge_module.o \ land_sfc_properties_mod.o level2_mod.o cloud_height_routines.o \ dncomp_clavrx_bridge_mod.o cx_nucaps_mod.o kdtree2.o \ clavrx_message_mod.o avhrr_pixel_aerosol.o cx_hdf4_mod.o cx_sea_ir_emiss_mod.o cx_dust_mod.o dnb_retrievals_mod.o \ cx_abi_lhp_mod_alg_function.o sort_module.o \ calibration_constants_mod.o algorithm_constants_mod.o \ acha_clavrx_bridge_module.o cloud_base_clavrx_bridge_module.o \ ccl_clavrx_bridge_module.o asos_clavrx_bridge_module.o \ nb_cloud_mask_clavrx_bridge_module.o \ nbm_cloud_mask_clavrx_bridge_module.o \ nbm_cloud_mask_get_prob_mask_phase.o \ baseline_cloud_mask.o baseline_cloud_height.o \ ncep_reanalysis.o cx_muri_clavrx_bridge_mod.o snow_routines_mod.o \ rt_utilities_mod.o rtm_common_mod.o reposnx.o avhrr_reposition_mod.o cx_read_ahi_mod.o \ modis_mod.o iff_clavrx_bridge.f90 iff_module.o fy2_mod.o fy4_mod.o goes_mod.o abi_mod.o globsnow_read_routines.o \ laszlo_insolation_mod.o sasrab.o conver.o caliop_collocation_mod.o \ seviri_mod.o mvcm_read_mod.o sapf_read_mod.o oca_mod.o mtsat_mod.o hirs_fusion_mod.o \ simple_cod_065um_mod.o simple_cod_138um_mod.o simple_cod_lunar_mod.o simple_cod_160um_mod.o \ coms_mod.o level2b_mod.o dcomp_rtm_module.o dcomp_derived_products_mod.o cx_date_time_tools_mod.o \ cx_real_boolean_mod.o cx_abi_lhp_mod.o cx_spatial_metrics_mod.o ifdef hdf5libs sub_routine += viirs_clavrx_bridge.o readh5dataset.o viirs_read_mod.o viirs_nasa_read_module.o fy3d_read_module.o endif ifdef libhim_libs sub_routine += ahi_hsd_reader.o endif process_clavrx.o: process_clavrx.f90 $(sub_routine) $(fc) -c $(fflags) $(cppflags) $(fflags_clavr) $(cppflags_vcld) $(cpp) ${hdf5libs} $(netcdflibs) process_clavrx.f90 ######### .o files that depend on .inc files ######## acha_module.o: $(ACHA)/acha_parameters.inc baseline_cloud_mask.o: $(BASELINEMASK)/baseline_cloud_mask_thresholds.inc baseline_cloud_height.o: $(BASELINEHEIGHT)/baseline_cloud_height.inc ########################### PFAAST ############################################## sasrab.o : sasrab.f conver.o get_lun.o $(fc) -c $(fflags_sasrab_f77) $(SASRAB)/sasrab.f conver.o : conver.f90 $(fc) -c $(fflags_sasrab_f90) $(SASRAB)/conver.f90 getmod.o : getmod.f90 $(fc) -c $(fflags_sasrab_f90) $(SASRAB)/getmod.f90 big_endian.o : big_endian.f $(fc) -c $(fflags_pfast) big_endian.f get_lun.o : get_lun.f90 $(fc) -c $(fflags) get_lun.f90 flip_rtc.o : flip_rtc.f $(fc) -c $(fflags_pfast) flip_rtc.f re4flip.o : re4flip.f $(fc) -c $(fflags_pfast) re4flip.f ################ hdf 5 read routines Code ifdef hdf5libs readh5dataset.o: readh5dataset.f90 $(fc) -c $(ldlags) ${hdf5libs} readh5dataset.f90 endif ############### Fred Nagle Repositioning Code reposnx.o : reposnx.f $(fc) -c $(fflags_pfast) reposnx.f ################## VIIRS ################### ifdef hdf5libs viirs_clavrx_bridge.mod viirs_clavrx_bridge.o: viirs_clavrx_bridge.f90 \ constants_mod.mod hdf.mod avhrr_mod.mod pixel_common_mod.mod pixel_routines_mod.mod planck_mod.mod $(fc) -c $(fflags) ${hdf5libs} viirs_clavrx_bridge.f90 viirs_read_mod.mod viirs_read_mod.o: viirs_read_mod.f90 $(fc) -c $(fflags) ${hdf5libs} viirs_read_mod.f90 fy3d_read_module.mod fy3d_read_module.o: fy3d_read_module.f90 $(fc) -c $(fflags) ${hdf5libs} fy3d_read_module.f90 endif ############### C Code mreadf.o: mreadf.c $(CC) -c -O2 mreadf.c move_bytes.o: move_bytes.c $(CC) -c -O2 move_bytes.c geos_transform_pix.o: geos_transform_pix.c $(CC) -c -O2 geos_transform_pix.c ################################ Misc. Targets ################################# all_plus: ifeq ($(ARCH),$(filter $(ARCH), gfortran gfortran-strict gfortran-debug )) all_plus: dcomp_gfortran muri_gfortran all else all_plus: dcomp_ifort muri_ifort all endif dcomp_gfortran: $(MAKE) all -C ../cx_sds_io/Release_gfortran/ $(MAKE) all -C ../cx_dncomp/Release_gfortran/ dcomp_gfortran_clean: $(MAKE) clean -C ../cx_sds_io/Release_gfortran/ $(MAKE) clean -C ../cx_dncomp/Release_gfortran/ dcomp_ifort: $(MAKE) all -C ../cx_sds_io/Release_ifort/ $(MAKE) all -C ../cx_dncomp/Release_ifort/ dcomp_ifort_clean: $(MAKE) clean -C ../cx_sds_io/Release_ifort/ $(MAKE) clean -C ../cx_dncomp/Release_ifort/ muri_gfortran: $(MAKE) all -C ../cx_sds_io/Release_gfortran/ $(MAKE) all -C ../muri/Release_gfortran/ muri_gfortran_clean: $(MAKE) clean -C ../cx_sds_io/Release_gfortran/ $(MAKE) clean -C ../muri/Release_gfortran/ muri_ifort: $(MAKE) all -C ../cx_sds_io/Release_ifort/ $(MAKE) all -C ../muri/Release_ifort/ muri_ifort_clean: $(MAKE) clean -C ../cx_sds_io/Release_ifort/ $(MAKE) clean -C ../muri/Release_ifort/ # This target deletes all object and module files from the current directory as well # This target deletes all object and module files from the current directory as well # as the file version.inc, which is created during the make process. clean: -rm -f *.o *.mod version.inc # $(MAKE) clean -C $(DNCOMP) # This target also removes all the executables. distclean: clean dcomp_ifort_clean dcomp_gfortran_clean muri_gfortran_clean muri_ifort_clean -rm ../clavrx_bin/clavrxorb ../clavrx_bin/comp_asc_des_level2b ../clavrx_bin/drive_subset_level2b #------------------------------------------------------------------------ # To put all necessary files in one file ready for distribution, # make sure the value for VERSION (at top of this file) is correct. # then, type: # make tardist # If you add/change files to the distribution that don't end with # .c, .f, .f90, .inc, or .txt, you must change/add to the list below. THEDATE=`/bin/date +%Y%m%d` tardist: - tar -cvf ../clavrx_$(VERSION)_$(THEDATE).tar \ ../akh_acha_repo ../grib2hdf \ ../akh_clavrx_src/configure \ ../akh_clavrx_src/Makefile ../akh_clavrx_src/*.c ../akh_clavrx_src/*.f \ ../akh_clavrx_src/*.f90 ../akh_clavrx_src/*.inc ../akh_clavrx_src/*.txt gzip ../clavrx_$(VERSION)_$(THEDATE).tar echo "created ../clavrx_$(VERSION)_$(THEDATE).tar.gz" #the end of the makefile