library(stars)
## Loading required package: abind
## Loading required package: sf
## Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.0
filename = "/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf"

# Get subdatasets
sd = gdal_subdatasets(filename)
sd
## [[1]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Count_Day"
## 
## [[2]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Count_Night"
## 
## [[3]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:QC_Day"
## 
## [[4]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:QC_Night"
## 
## [[5]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:LST_Day"
## 
## [[6]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:LST_Night"
## 
## [[7]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:LST_Day_err"
## 
## [[8]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:LST_Night_err"
## 
## [[9]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Day_view_angle"
## 
## [[10]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Night_view_angle"
## 
## [[11]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Day_view_time"
## 
## [[12]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Night_view_time"
## 
## [[13]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_29_Day"
## 
## [[14]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_29_Night"
## 
## [[15]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_29_Day_err"
## 
## [[16]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_29_Night_err"
## 
## [[17]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_31_Day"
## 
## [[18]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_31_Night"
## 
## [[19]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_31_Day_err"
## 
## [[20]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_31_Night_err"
## 
## [[21]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_32_Day"
## 
## [[22]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_32_Night"
## 
## [[23]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_32_Day_err"
## 
## [[24]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Emis_32_Night_err"
## 
## [[25]]
## [1] "HDF4_EOS:EOS_GRID:\"/home/michael/Downloads/MOD21C1.A2021036.061.2021037125629.hdf\":MODIS_DAILY_CMG_LST:Percent_land_in_grid"
# Read
r = read_stars(sd[[5]])
r
## stars object with 2 dimensions and 1 attribute
## attribute(s), summary of first 1e+05 cells:
##   LST_Day [K]   
##  Min.   : NA    
##  1st Qu.: NA    
##  Median : NA    
##  Mean   :NaN    
##  3rd Qu.: NA    
##  Max.   : NA    
##  NA's   :1e+05  
## dimension(s):
##   from   to offset delta                       refsys point values x/y
## x    1 7200   -180  0.05 Unknown datum based upon ...    NA   NULL [x]
## y    1 3600     90 -0.05 Unknown datum based upon ...    NA   NULL [y]
# Plot
plot(r)