For PRISMA

import os
import glob

import pandas as pd

from datetime import datetime, timedelta

opj = os.path.join

For PRISMA#

idir='/data/satellite/prisma/touria'

odir='/data/satellite/prisma/touria'
cams_dir = '/data/cams/world/'
sites=['bassas','glorieuse','mayotte']

idir='/data/satellite/prisma/L1'
odir='/data/satellite/prisma/L2A'
sites=['actium']
resolution=60
cc_max = 0.6
no_clobber = True


# --------------------
# set options
options=''
if no_clobber:
    options = options+' --no_clobber'


# ------------------
# setting up loop on files available

for site in sites: 
   
    kwarg = ''
    
    # ------------------
    # check if L1C exists and set directories / files
   
    
    l1c_dir = opj(idir,site)
    if not os.path.exists(l1c_dir):
        continue
        
    l2a_dir = opj(odir,site)
    

    files =glob.glob(opj(l1c_dir,'PRS_L1_STD_OFFL_*.he5'))
    
    for file in  files:
        basename= os.path.basename(file)
        date = basename.split('_')[4]
        year, month = date[0:4],date[4:6]
        date_str=year+'-'+month
        cams_file = opj(cams_dir,'cams_forecast_'+date_str+'.nc')
        print(f'hgrs_prisma {file}  --cams_file {cams_file} --odir {l2a_dir} '+options)
hgrs_prisma /data/satellite/prisma/L1/actium/PRS_L1_STD_OFFL_20260602093219_20260602093223_0001.he5  --cams_file /data/cams/world/cams_forecast_2026-06.nc --odir /data/satellite/prisma/L2A/actium  --no_clobber
import h5py
h5py.File('/data/satellite/prisma/zoffoli/L1/PRS_L1_STD_OFFL_20220701111705_20220701111710_0001.he5')
<HDF5 file "PRS_L1_STD_OFFL_20220701111705_20220701111710_0001.he5" (mode r)>

For EnMAP#

idir='/data/satellite/enmap/EnMAP_L1C'
os.listdir(idir)
['Gironde_Estuary',
 'Socheongcho',
 'San_Marco',
 'Oostende_Zeebrugge_TB',
 'Lake_Erie',
 'Wraysbury',
 'Lucinda',
 'LG',
 'Kemigawa',
 'Trasimeno',
 'MVCO',
 'last',
 'Mackenzie',
 'Bahia_Blanca',
 'Oost_TB_Zee',
 'L1C_apr2026',
 'senegal',
 'Galata_Platform',
 'actium',
 'Rio_de_la_Plata',
 'Alkor',
 'Irbe_Ligthouse',
 'South_Greenbay',
 'Lampedusa',
 'RdP',
 'Banana_River',
 'AAOT',
 'Lake_Garda',
 'Chesapeake_Bay',
 'CB',
 'Section7_Platform']
idir='/data/satellite/prisma/touria'

odir='/data/satellite/prisma/touria'
cams_dir = '/data/cams/world/'
sites=['bassas','glorieuse','mayotte']

idir='/data/satellite/enmap/EnMAP_L1C'
odir='/data/satellite/enmap/L2A'
sites=['AAOT']
sites=os.listdir(idir)
sites = ['senegal']
resolution=60
cc_max = 0.6
no_clobber = True


# --------------------
# set options
options=''
if no_clobber:
    options = options+' --no_clobber'


# ------------------
# setting up loop on files available

for site in sites: 
   
    kwarg = ''
    
    # ------------------
    # check if L1C exists and set directories / files
   
    
    l1c_dir = opj(idir,site)
    if not os.path.exists(l1c_dir):
        continue
        
    l2a_dir = opj(odir,site)
    

    files =glob.glob(opj(l1c_dir,'ENMAP*Z'))
    files.sort()
    for file in  files:
        basename= os.path.basename(file)
        date = basename.split('_')[5]
        year, month = date[0:4],date[4:6]
        date_str=year+'-'+month
        cams_file = opj(cams_dir,'cams_forecast_'+date_str+'.nc')
        print(f'hgrs_enmap {file}  --cams_file {cams_file} --odir {l2a_dir} '+options)
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000181401_20260223T115758Z_017_V010506_20260421T163424Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000181401_20260223T115802Z_018_V010506_20260421T163124Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000181401_20260223T115807Z_019_V010506_20260421T162511Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000181401_20260223T115811Z_020_V010506_20260421T162355Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000182060_20260227T120148Z_001_V010506_20260421T162355Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000182060_20260227T120152Z_002_V010506_20260421T162201Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
hgrs_enmap /data/satellite/enmap/EnMAP_L1C/senegal/ENMAP01-____L1C-DT0000182060_20260227T120156Z_003_V010506_20260421T161934Z  --cams_file /data/cams/world/cams_forecast_2026-02.nc --odir /data/satellite/enmap/L2A/senegal  --no_clobber
basename.split('_')
['ENMAP01-',
 '',
 '',
 '',
 'L1C-DT0000182060',
 '20260227T120156Z',
 '003',
 'V010506',
 '20260421T161934Z']