1. This model code was compiled by Prateek Gantayat, as part of the MII Greenland project, under the guidance of Dr Amber Leeson. This project funded by UKRI 2. Few instructions before running the model code: a) Check the path of the datafiles b) Update the path for the variable 'PATH' in the main program (i.e. main_prog1.f). Accordingly change the character length of the following 'CHARACTER' data type variables: i) FILENAME ii) FILEN iii) FNAME iv) FNAME1 v) FNAME2 vi) FNAME3 c) Check the size of the daily runoff data (i.e. the number of rows and columns) and appropriately initialise the following valiables in the main program (i.e. main_prog1.f) i) RO ii) CO iii) SX The model consists of the following subroutines whose roles have been explained below. These subroutines route meltwater, simulate drainage. HYDROFRACTURE1: This subroutine calculates the net discharge due to hydrofracture from lake and non-lake areas CREV_LAKE1: This subroutine calculates whether in a given timestep, a lake will undergo rapid drainage STRESS_INT1: This subroutine solves the stress intensity equation for crevasses occurring in non-lake areas in every timestep NON_LAKE_CREV_NEW1: This subroutine calculates the discharge due to rapid drainage from non-lake areas in every timestep CREV_CELLS1: This subroutine separates the crevassed pixels from the non-crevassed pixels based on a threshold stress in every timestep LAKE_CHN_INC_OV1: This subroutine models the process of lake overflow via channel incision in every timestep LAKE_DEL1: This subroutine delineates a lake in every timestep RUNOFF_DIST1: This subroutine equally redistributes the runoff on the lake surface in every timestep LAKE_CATCHMENT1: This subroutine delineates the hydrological catchment of a SGL in every timestep NEW_OUTLET1: This subroutine estimates the outlet of a SGL's catchment in every timestep PATH_SEL_CHN_INC1: This subroutine delineates the path that will be followed by water overflowing from a SGL in every timestep CHANNEL_INC1: This subroutine calculates the drawdown in the lake and channel height during channel incision in every timestep ONLY_OVERFLOW1: This subroutine calculates the amount of water that will simply overflow from a SGL i.e. without incising any channel, in every timestep LAKE_RED_TRANS1: This subroutine updates the lake depths and channel depths after SGL overflow has occurred, in every timestep FLOW_DIR1: This subroutine locates a destination cell for the meltwater runoff occurring on every DEM cells in every timestep WATER_TRANSFER1: This subroutine transfers water from a non-lake DEM cell to its destination cell in every timestep SINK_SEPARATE1: This subroutine separates the non-lake sink cells from rest of the DEM cells in every timestep FILL_DEPRESSION1: This subroutine completely/partially fills empty topographic depressions with meltwater runoff in every timestep FILL_HALF_FULL_DEPRESSION1: This subroutine completely/partially fills previously non-empty topographic depressions with meltwater runoff in every timestep MARGIN_FLOW1: This subroutine calculates the volume of meltwater that goes into the non-lake areas from the ice margins in every timestep LAKE_NUCLEUS_ISOLATION1: This subroutine locates the lake nucleus of a SGL in every timestep SINK_LOCATOR1: This subroutine locates the topographical sinks in the study area in every timestep LAKE_NUCLEUS_ISOLATION21: This subroutine locates the lake nucleus of a SGL in every timestep REINIT1: This subroutine initilises the crevasse depths, water depths in the crevasses to zero at the end of every year The following functions were used for the lake refreezing module. The refreezing module was coded in matlab: main_lake_new_no_water.m: This is the main program from which all other fucntions are called data_prep_lake.m: This function accepts the daily energy fluxes as well as the relevant meteorological data that is used for estimating surface energy balance on top of the lake or ice lid water_only_new.m: This function estimates the lake surface temperature and the bulk lake body temperature refreeze.m: This function gets actibvated when the lake surface temperature drops below the freezing point i.e. 273 K. This functions simulates the formation of an ice lid till it is 0.1 m thick freezing_temp.m: This function is a part of the refreeze.m function. It estimates the total surface energy excluding the conductive heat flux ice_water_new_3.m: This function gets activated when an ice lid of lid thickness more than 0.1 m is formed on the lake surface. This function estimates the energy balance at the ice-atmosphere interface and also dels with ice-lid growth and/ or decay