add_hours add_hours Purpose | add a number of hours to a date | Call | cfu add_hours < ystartdate > < hours > [< itype_calendar >] | Result | YYYYMMDDHH[mmss] | Meanings | ystartdate | has the form YYYYMMDDHH[mmss] | itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year) | | add a number of hours to a date |
add_lonlat add_lonlat Purpose | adds 2D geographical latitude and longitude to a netCDF file containing rotated coordinates | Call | cfu add_lonlat < ncfile > | Result | < ncfile > with two additional 2D fields (lon and lat) | Meanings | ncfile | name of netCDF file to which the coordinates should be added | | adds 2D geographical latitude and longitude to a netCDF file containing rotated coordinates |
add_months add_months Purpose | add a number of hours to a date | Call | cfu add_months < ystartdate > < months > | Result | YYYYMMDDHH[mmss] | Meanings | ystartdate | has the form YYYYMMDDHH[mmss] | | add a number of hours to a date |
add_vertices add_vertices Purpose | adds geographical latitude and longitude vertices to a netCDF file | Call | cfu add_vertices < ncfile > | Result | < ncfile > with two additional fields (lon_bnds and lat_bnds) with the dimensions (4,lon,lat) | Meanings | ncfile | name of netCDF file to which the vertices should be added | Remark | The counting of the 4 vertices goes like this | | adds geographical latitude and longitude vertices to a netCDF file |
check_files check_files Purpose | check whether all required files in a date range are in a certain directory | Call | cfu check_files < ystartdate > < yenddate > < hh:mm:ss > < prefix12 > < prefix2 > < suffix >< input directory > < last output > [< itype_calendar >] | Result | 0=success, 1=error. In case of error the file
check_files.log
contains the names of the missing files. The file
check_files.log
is written to the directory where the program
check_files
is called. | Meanings
| ystartdate | start date in the form YYYYMMDDHH[mmss] | yenddate | end date the form YYYYMMDDHH[mmss] | hh:mm:ss | time increment of the files in the date range | prefix1 | primary prefix to be checked (e.g. caf, laf, …), i.e. the characters preceding the YYYYMMDDHH[mmss] sequence | prefix2 | secondary prefix to be checked (e.g. cas, lbfd, …), if prefix1 gives errors.In case only one prefix should be checked set prefix1=prefix2 | suffix | suffix to be checked (e.g. .nc, c.nc, …), i.e. the characters following the YYYYMMDDHH[mmss] sequence | input directory | full path to directory holding the files to be checked | last output | should be set to true T in case the yenddate should be included in the check, otherwise it should be set to false F | itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year)
| | check whether all required files in a date range are in a certain directory |
check_files_iso check_files_iso Purpose | check whether all required files in a date range are in a certain directory (uses ISO time stamp: YYYYMMDDHHTmmssZ) | Call | cfu check_files_iso < ystartdate > < yenddate > < hh:mm:ss > < prefix12 > < prefix2 > < suffix >< input directory > < last output > [< itype_calendar >] | Result | 0=success, 1=error. In case of error the file
check_files.log
contains the names of the missing files. The file
check_files.log
is written to the directory where the program
check_files_iso
is called. | Meanings
| ystartdate | start date in the form YYYYMMDDHHmmss | yenddate | end date the form YYYYMMDDHHmmss | hh:mm:ss | time increment of the files in the date range | prefix1 | primary prefix to be checked (e.g. caf, laf, …), i.e. the characters preceding the YYYYMMDDHH[mmss] sequence | prefix2 | secondary prefix to be checked (e.g. cas, lbfd, …), if prefix1 gives errors.In case only one prefix should be checked set prefix1=prefix2 | suffix | suffix to be checked (e.g. .nc, c.nc, …), i.e. the characters following the YYYYMMDDHHTmmssZ sequence | input directory | full path to directory holding the files to be checked | last output | should be set to true T in case the yenddate should be included in the check, otherwise it should be set to false F | itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year)
| | check whether all required files in a date range are in a certain directory (uses ISO time stamp: YYYYMMDDHHTmmssZ) |
create_rotgrid create_rotgrid Purpose | creates lon/lat grid values and lon/lat grid vertices for a rotated g rid | Call | cfu create_rotgrid <startrlon > <startrlat > < drlon > < drlat > < nrlon >< nrlat > < pollon > < polat > < polgam > < gridfile > | Result | <gridfile> in netCDF format containing the grid information | Meanings
| startrlon | longitude of lower left corner in rotated coordinates | startrlat | latitude of lower left corner in rotated coordinates | drlon | longitudinal grid with in rotated coordinates | drlat | latitudinal grid with in rotated coordinates | nrlon | number of grid points in longitudinal direction | nrlat | number of grid points in latitudinal direction | pollon | rotated coordinates of longitude of geographical North Pole | pollat | rotated coordinates of latitude of geographical North Pole | polgam | rotated longitude shift of North Pole | gridfile | output file in netCDF format containing the grid information | | creates lon/lat grid values and lon/lat grid vertices for a rotated g rid |
get_attval get_attval Purpose | get the value of an attribute | Call | cfu get_attval <ncfile> <varname> <attribute name> | Result | value of the attribute or -- in case the attribute is not found | Meanings | ncfile | name of the netCDF file | varname | name of the variable with the requested attribute | attribute name | name of the attribute | | get the value of an attribute |
get_hours get_hours Purpose | determine the number of hours between two dates | Call | cfu get_hours < ystartdate >< enddate > [< itype_calendar >] | Result | number of hours | Meanings | ystartdate | start date in the form the form YYYYMMDDHH[mmss] |
| yenddate | end date in the form the form YYYYMMDDHH[mmss] |
| itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year) | | determine the number of hours between two dates |
get_next_dates get_next_dates Purpose | determines the next two dates for a given time increment | Call | cfu get_next_dates < ystartdate >< MM:DD:HH[:mm:ss] > [< itype_calendar >] | Result | YYYYMMDDHH[mmss]YYYYMMDDHH[mmss] | Meanings | ystartdate | startdate in the form YYYYMMDDHH[mmss] |
| MM:DD:HH[:mm:ss] | time increment |
| itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year) | Remark | presently this function is especially for calculating the next dates when running the CCLM in the subchain. This includes a restriction of maximum 28 for DD . Note that the DD restriction only applies for sub monthly chunks. | | determines the next two dates for a given time increment |
get_prev_date get_prev_date Purpose | determines the previous two dates for a given time increment | Call | cfu get_prev_date < ystartdate >< MM:DD:HH[:mm:ss] > [< itype_calendar >] | Result | YYYYMMDDHH | Meanings | ystartdate | startdate in the form YYYYMMDDHH[mmss] |
| MM:DD:HH[:mm:ss] | time increment |
| itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year) | Remark | Presently this version takes monthly intervals only. itype_calendar is not used in this version. | | determines the previous two dates for a given time increment |
icon_domain icon_domain Purpose | provide helpful input for the ICON Grid Generator + ExtPar Web Frontend | Call | cfu icon_domain <input file> [<nbound> [<nudge_zone_width> <Rn> <Bk>] ] | Result | an example output looks as follows
write parent grid: (tick box)
center: longitude (degrees) -5.11000
center: latitude (degrees) -0.77000
half width: 24.42000
half height: 23.76000
rotate: (tick box)
north pole: longitude (degrees) -162.00000 latitude (degrees) 39.25000
| Meanings | input file | File that contains the rotated coordinates of the domain to which the ICON results in the post processing script of SPICE will be remapped |
| nbound | If only nbound is given as argument: Number of grid points by which the domain given by the input file is extended. This is to keep the rotated domain out of the boundary zone of the regional ICON. If nbound, nudging_zone_width, Rn and Bk are given: Number of extra safety grid points Default: 10 |
| nudge_zone_width | The number you are going to use in the namelist interpol_nml settings of your ICON simulations |
| Rn and Bk | The n and k values for your chosen ICON grid | Remark | If all parameters are given the number of grid points for the boundaries are calculated as nboundaries = nbound + nudge_zone_width + grf_bdywidth_c where grf_bdywidth_c=4 as described in the ICON Tutorial. The Rn and Bn are used in case the grid width of the rotated grid is smaller than the ICON grid. In this case the number of boundaries are extended to make sure that the boundary width is not too small. | | provide helpful input for the ICON Grid Generator + ExtPar Web Frontend |
shellpp shellpp Purpose | "pre-compiles" a shell script | Call | cfu shellpp < input file > < output file > < name > | Result | precompiled file output file | Meanings | input file | input file containing the precompile commands |
| output file | "precompiled" output file |
| name | name of the ifdef clauses that should be used | Remark | This is a very rudimentary pre-compiler version like the one for e.g. FORTRAN programs. It can only handle the two commands: #ifdef name #endif If you are interested in a more sophisticated bash pre-processor please check the one on bashpp GitHub. | | "pre-compiles" a shell script |
tbtimestamp tbtimestamp Purpose | Prints the time stamp of the time bounds variable time_bnds | Call | cfu tbtimestamp <input file> [<itype_calendar>] | Result | YYYY-MM-DDThh:mm:ss as loop over bounds (=2) and time steps | Meanings | input file | File containing the time bounds |
| itype_calendar | 0 = 365 days (plus taking into account for leap years) a year 1 = climatological calendar (360 days per year) 2 = climatological calendar (365 days per year) | | Prints the time stamp of the time bounds variable time_bnds |