User:Privatedood/sandbox

This file maps out what calls what in the ORAC code, and what each subroutine actually does, as of 2018/01/24 (about when the move from SVN to Git was completed). Only the main processor is covered.

Note that each module/subroutine is given as a wiki-link, which, if they exist will give brief descriptions of said code. The name of the source file, which will can be found in the orac/src/ sub-directory, unless otherwise indicated, is given for some, but not all, items. If it's not given, it should be reasonably easily determined from the name of the module/subroutine itself. XXX orac (orac.F90) Click [show]/[hide] to reveal/hide subroutines and modules →
 * YYY (italic) indicates that the subroutine XXX uses the module YYY
 * ZZZ indicates that the subroutine XXX calls the subroutine ZZZ
 * WWW indicates that the subroutine WWW, called by XXX, itself calls uses further modules/subroutines. Click [show] on the right of the page to reveal.

Ctrl_m (Ctrl.F90)

Data_m (Data.F90)

Diag_m (Diag.F90)

Inversion (Inversion.F90)

omp_lib (standard OMP library)

ORAC_Constants_m (ORACConstants.F90)

orac_indexing_m (common/orac_indexing.F90)

orac_ncdf_m (common/orac_ncdf.F90)

orac_output_m (common/orac_output.F90)

prepare_output_m (prepare_output.F90)

read_driver_m (ReadDriver.F90)

Read_SAD_m (ReadSAD.F90)

read_utils_m (read_utils.F90)

RTM_m (RTM.F90)

RTM_Pc_m (RTM_Pc.F90)

SAD_Chan_m (SADChan.F90

SAD_LUT_m (SADLUT.F90)

SPixel_m (SPixel.F90)

SPixel_routines_m (SPixel_routines.F90)

global_attributes_m (common/global_attributes.F90)

source_attributes_m (common/source_attributes.F90)

Read_Driver (ReadDriver.F90)

constants_cloud_typing_pavolonis_m (common/constants_cloud_typing_pavolonis.F90)

Ctrl_m (Ctrl.F90)

global_attributes_m (common/global_attributes.F90)

ORAC_Constants_m (ORACConstants.F90)

parse_user_m (parse_user.F90)

read_utils_m (read_utils.F90)

source_attributes_m (common/source_attributes.F90)

read_ctrl_m (generated from read_ctrl.lex and bison)

Nullify_Ctrl

orac_indexing_m (common/orac_indexing.F90)

nullify_common_indices (common/orac_indexing.F90)

find_lun (FindLUN.F90)

read_ctrl (see read_ctrl.lex)

old_driver_first_read (ReadDriver.F90)

Ctrl_m (Ctrl.F90)

parse_user_m (parse_user.F90)

h_p_e (ReadDriver.F90)

clean_driver_label (../common/parsing.F90)

read_config_file (read_config_file.F90)

read_input_dimensions_msi (read_input_dimensions.F90)

ORAC_Constants_m (ORACConstants.F90)

orac_ncdf_m (common/orac_ncdf.F90)

nc_open (common/orac_ncdf.F90)

old_driver_second_read (ReadDriver.F90)

Ctrl_m (Ctrl.F90)

parse_user_m (parse_user.F90)

clean_driver_label (../common/parsing.F90)

h_p_e (ReadDriver.F90)

Dealloc_Ctrl

Read_SAD (ReadSAD.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

SAD_Chan_m (SADChan.F90)

SAD_LUT_m (SADLUT.F90)

Read_SAD_Chan (ReadSADChan.F90)

Read_SAD_LUT (ReadSADLUT.F90)

read_input_dimensions_rtm (read_input_dimensions.F90)

ORAC_Constants_m (ORACConstants.F90)

orac_ncdf_m (common/orac_ncdf.F90)

nc_open (common/orac_ncdf.F90)

Read_PRTM_nc (ReadPRTM_nc.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

orac_ncdf_m (common/orac_ncdf.F90)

nc_open (common/orac_ncdf.F90)

nc_read_array (common/orac_ncdf.F90, uses nc_read_template.inc)

Read_LwRTM_nc (ReadLwRTM_nc.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

orac_ncdf_m (common/orac_ncdf.F90)

nc_open (common/orac_ncdf.F90)

nc_read_array (common/orac_ncdf.F90, uses nc_read_template.inc)

Read_SwRTM_nc (ReadSwRTM_nc.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

orac_ncdf_m (common/orac_ncdf.F90)

nc_open (common/orac_ncdf.F90)

nc_read_array (common/orac_ncdf.F90, uses nc_read_template.inc)

Read_Data_nc (ReadData_nc.F90)

netcdf (standard NetCDF module)

Ctrl_m (Ctrl.F90)

SAD_Chan_m (SADChan.F90)

Nullify_Data (NullifyData.F90)

Read_ALB_nc (ReadAlb_nc.F90)

Read_CloudFlags_nc (ReadCloudFlags_nc.F90)

Read_Geometry_nc (ReadGeometry_nc.F90)

Read_Location_nc (ReadLocation_nc.F90)

Read_LSFlags_nc (ReadLSFlags_nc.F90)

Read_MSI_nc (ReadMSI_nc.F90)

sabotage_inputs (sabotage_inputs.F90)

Determine_Illum (DeterminIllum.F90)

alloc_output_data_primary (alloc_output_data.F90)

alloc_output_data_secondary (alloc_output_data.F90)

Alloc_SPixel (AllocSPixel.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

RTM_m (RTM.F90)

Alloc_RTM_Pc (AllocRTMPc.F90)

Ctrl_m (Ctrl.F90)

Zero_Diag (ZeroDiag.F90)

Ctrl_m (Ctrl.F90)

ORAC_Constants_m (ORACConstants.F90)

Get_SPixel (GetSPixel.F90)

Ctrl_m (Ctrl.F90)

Data_m (Data.F90)

Int_Routines_m, only find_in_array (IntRoutines.F90)

ORAC_Constants_m (ORACConstants.F90)

RTM_m (RTM.F90)

SAD_Chan_m (SADChan.F90)

SAD_LUT_m (SADLUT.F90)

Get_Indexing

Ctrl_m

Data_m

ORAC_Constants_m

SAD_Chan_m

cloud_indexing_logic (GetIndexing.F90)

Ctrl_m

Int_Routines_m, only find_in_array

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

Identify_BRDF_Terms (GetIndexing.F90)

cloud_indexing_logic_night (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

Identify_BRDF_Terms (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

cloud_indexing_logic_two_layer (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

Identify_BRDF_Terms (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

aer_indexing_logic (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Identify_BRDF_Terms (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

swan_indexing_logic (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

aer_indexing_logic_1view (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Identify_BRDF_Terms (GetIndexing.F90)

Ctrl_m

ORAC_Constants_m

Add_to_State_Vector (GetIndexing.F90)

Ctrl_m

setup_indexes (GetIndexing.F90)

Ctrl_m

SAD_Chan_m

Get_Geometry

Ctrl_m

Data_m

ORAC_Constants_m

Get_Location

Ctrl_m

Data_m

ORAC_Constants_m

Get_LSF

Ctrl_m

Data_m

ORAC_Constants_m

Get_measurements

Ctrl_m

Data_m

ORAC_Constants_m

planck_m

SAD_Chan_m

T2R

ORAC_Constants_m

SAD_Chan_m

Get_Surface_Swansea (GetSurface.F90)

Ctrl_m

Data_m

GZero_m

FM_Routines_m, only: Set_CRP_Solar

Int_LUT_Routines_m, only: MaxCRPParams

ORAC_Constants_m

SAD_LUT_m

Allocate_GZero

Set_GZero

Set_CRP_Solar

Deallocate_GZero

Effective_Rho_Calc (GetSurace.F90)

FM_Routines_m, only: IR_0v, IT_dv, IR_dd, IT_00, IT_0d

Get_Surface (GetSurace.F90)

Ctrl_m

Data_m

ORAC_Constants_m

SAD_Chan_m

Get_RTM

Ctrl_m

Data_m

ORAC_Constants_m

RTM_m

SAD_Chan_m

Get_LwSwRTM

Ctrl_m

interpol_m

ORAC_Constants_m

planck_m

RTM_m

SAD_Chan_m

bilinear_coef (interpol.F90)

interp_field2 (interpol.F90)

T2R

ORAC_Constants_m

SAD_Chan_m

Get_X

Ctrl_m

ORAC_Constants_m

Set_State (Get_X.F90)

Ctrl_m

ORAC_Constants_m

Get_State (Get_X.F90)

Ctrl_m

ORAC_Constants_m

X_MDAD

Ctrl_m

Int_Routines_m, only: find_in_array

ORAC_Constants_m

plank_m

Int_CTP

Ctrl_m

Int_Routines_m

ORAC_Constants_m, only: g_wmo, XMDADBounds

plank_m

SAD_Chan_m

X_SDAD

Ctrl_m

ORAC_Constants_m

Invert_Marquardt

Cholesky_m

Ctrl_m

Diag_m

FM_Routines_m

GZero_m

Int_LUT_Routines_m

ORAC_Constants_m

RTM_Pc_m

SAD_Chan_m

SAD_LUT_m

SPixel_m

Set_Limits

Ctrl_m

ORAC_Constants_m

SPixel_m

Invert_Cholesky

FM

Ctrl_m

GZero_m

Int_LUT_Routines_m

Interpol_Routines_m

ORAC_Constants_m

planck_m

RTM_Pc_m

SAD_Chan_m

SAD_LUT_m

SPixel_m

Allocate_GZero (GZero.F90)

Set_GZero

Ctrl_m

Int_Routines_m

SAD_LUT_m

SPixel_m

Interpol_Thermal

Ctrl_m

planck_m

RTM_Pc_m

SAD_Chan_m

SPixel_m

find_Pc (InterpolRoutines.F90)

T2R

Interpol_Thermal_spline

Ctrl_m

Int_Routines_m

ORAC_Constants_m

planck_m

RTM_Pc_m

SAD_Chan_m

SPixel_m

find_Pc (InterpolRoutines.F90)

spline (from Numerical Recipies code)

T2R

FM_Thermal

Ctrl_m

GZero_m

Int_LUT_Routines_m

ORAC_Constants_m

planck_m

RTM_Pc_m

SAD_Chan_m

SAD_LUT_m

SPixel_m

Set_CRP_Thermal

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

SPixel_m

Int_LUT_TauSatRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

derivative_wrt_crp_parameter_layer_1 (FMThermal.F90)

derivative_wrt_crp_parameter_layer_2 (FMThermal.F90)

R2T

Interpol_Solar

Ctrl_m

RTM_Pc_m

SPixel_m

find_Pc (InterpolRoutines.F90)

Interpol_Solar_spline

Ctrl_m

Int_Routines_m

ORAC_Constants_m

RTM_Pc_m

SPixel_m

find_Pc (InterpolRoutines.F90)

spline (from Numerical Recipies code)

FM_Solar

Ctrl_m

GZero_m

Int_LUT_Routines_m

ORAC_Constants_m

RTM_Pc_m

SAD_LUT_m

SPixel_m

Set_CRP_Solar

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

SPixel_m

Int_LUT_TauSatSolAziRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_TauSolRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_TauRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_TauSatReOnSol

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_TauSatRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

rs_derivative_wrt_crp_parameter (FMSolar.F90)

derivative_wrt_crp_parameter (FMSolar.F90)

derivative_wrt_crp_parameter_brdf_0v (FMSolar.F90)

derivative_wrt_crp_parameter_brdf_0d (FMSolar.F90)

derivative_wrt_crp_parameter_brdf_dv (FMSolar.F90)

derivative_wrt_crp_parameter_brdf_dd (FMSolar.F90)

derivative_wrt_rho_parameters_brdf (FMSolar.F90)

propagate_d_Ref_dRs2 (FM.F90)

R2T

Deallocate_GZero (GZero.F90)

Set_Kx

Ctrl_m

ORAC_Constants_m

SPixel_m

Set_Sy

Ctrl_m

SPixel_m

add_unit (InvertMarquardt.F90)

average_hessian (InvertMarquardt.F90)

Solve_Cholesky

spofa (from LAPACK)

spofs (from LAPACK)

spotrf (from LAPACK)

spotrs (from LAPACK)

Check_Limits

Ctrl_m

ORAC_Constants_m

RTM_Pc_m

SPixel_m

Allocate_GZero (GZero.F90)

ORAC_Constants_m

Set_GZero

Ctrl_m

ORAC_Constants_m

SAD_LUT_m

SPixel_m

Int_LUT_TauSolRe

Int_LUT_TauSolRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_TauSatRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Int_LUT_Re

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

d_derivative_wrt_crp_parameter (FMSolar.F90)

Calc_Corrected_CTX

Ctrl_m

GZero_m

Int_Routines_m

Int_LUT_Routines_m

SAD_LUT_m

ORAC_Constants_m

RTM_Pc_m

SAD_Chan_m

SAD_LUT_m

SPixel_m

Allocate_GZero (GZero.F90)

ORAC_Constants_m

Set_GZero

Ctrl_m

Int_Routines_m

SAD_LUT_m

SPixel_m

Int_LUT_TauRe

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

Int_LUT_Common (IntLUTRoutines.F90)

Ctrl_m

GZero_m

Int_LUT_Routines_m

SAD_LUT_m

linint

ORAC_Constants_m

bcuint (from Numerical Recipies code)

Deallocate_GZero (GZero.F90)

Deallocate_GZero (GZero.F90)

Set_Diag

Ctrl_m

Data_m

ORAC_Constants_m

SPixel_m

Calc_CWP

Ctrl_m

ORAC_Constants_m

SPixel_m

Calc_CWP2 (CalcCWP.F90)

Ctrl_m

ORAC_Constants_m

SPixel_m

prepare_output_primary

Ctrl_m

Data_m

Diag_m

orac_ncdf_m

orac_output_m

RTM_Pc_m

SPixel_m

prepare_float_packed_float (common/orac_nc_utils.F90)

prepare_short_packed_float (common/orac_nc_utils.F90)

prepare_output_secondary

Ctrl_m

Data_m

Diag_m

orac_ncdf_m

orac_output_m

RTM_Pc_m

SPixel_m

prepare_short_packed_float (common/orac_nc_utils.F90)

Dealloc_SPixel

Ctrl_m

Dealloc_RTM_Pc

Ctrl_m

make_bitmask_from_terms (common/orac_indexing.F90)

make_bitmask_from_common_file_flags (common/orac_indexing.F90)

nc_create (common/orac_nc_utils.F90)

common_constants_m

global_attributes_m

source_attributes_m

nc_put_common_attributes (common/orac_nc_utils.F90)

build_flag_mask (prepare_output.F90)

Ctrl_m

orac_output_m (only output_data_primary_t)

def_output_primary

orac_ncdf_m

nc_def_var_double_packed_double (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_float_packed_float (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_short_packed_float (common/orac_ncdf.F90, uses nc_def_var_template.inc)

create_rho_field_name (common/orac_indexing.F90)

nc_def_var_byte_packed_byte (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_long_packed_long (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_dlong_packed_dlong (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_short_packed_short (common/orac_ncdf.F90, uses nc_def_var_template.inc)

NC_DEF_VAR_NAME (subroutine template - common/nc_def_var_template.inc)

common_constants_m

def_output_secondary

orac_ncdf_m

nc_def_var_long_packed_long (common/orac_ncdf.F90, uses nc_def_var_template.inc)

nc_def_var_short_packed_float (common/orac_ncdf.F90, uses nc_def_var_template.inc)

create_rho_field_name (common/orac_indexing.F90)

NC_DEF_VAR_NAME (subroutine template - common/nc_def_var_template.inc)

common_constants_m

write_output_primary

orac_ncdf_m

nc_write_array (common/orac_ncdf.F90, uses nc_write_template.inc)

write_output_secondary

orac_ncdf_m

nc_write_array (common/orac_ncdf.F90, uses nc_write_template.inc)

Dealloc_SAD_LUT

Ctrl_m

Dealloc_LUT_Grid (DeallocSADLUT.F90)

Dealloc_RTM

Ctrl_m

Dealloc_Data

Ctrl_m

dealloc_output_data_primary (common/dealloc_output_data.F90)

dealloc_output_data_secondary (common/dealloc_output_data.F90)

Dealloc_Ctrl

orac_indexing_m

''dealloc_common_indices (common/orac_indexing.F90)